ini_set('memory_limit', '2048M');
    // base page used to get the blank structured data
    $base_page = $cascade->getAsset(a\Page::TYPE, 'c7ffdcbd8b7f0856018587ac424c60a7');
    // new content type RWD
    $ct = $cascade->getAsset(a\ContentType::TYPE, '78e2271f8b7f0856004564244339ff16');
    switch ($mode) {
        // use this to convert a page or a few pages at a time
        case 'page':
            $page_ids = array('d5017fab8b7f08560139425cdd636d07', 'c894da888b7f08560139425c085ea716', '13bb74928b7f0856002a5e114940d125', '0e663b178b7f0856002a5e11c26a5c0e', '0e704a5a8b7f0856002a5e1139eb5cfc', '');
            foreach ($page_ids as $page_id) {
                if ($page_id == "") {
                    break;
                }
                // break at the first empty string
                $child = new p\Child($service->createId(a\Page::TYPE, $page_id));
                assetTreeSwitchPageContentType($service, $child, array('ct' => $ct, 'bp' => $base_page));
            }
            break;
            // use this to convert pages in a folder
        // use this to convert pages in a folder
        case 'folder':
            // folder containing pages to modify
            $f = $cascade->getAsset(a\Folder::TYPE, '1e625a698b7f08ee4bf67273d923c647');
            // traverse the folder
            $f->getAssetTree()->traverse(array(a\Page::TYPE => array('assetTreeSwitchPageContentType')), array('ct' => $ct, 'bp' => $base_page, 'skip' => array("_extra/news/headlines-center", "_extra/news/headlines-right")));
            break;
    }
    $end_time = time();
    echo BR . "Total time taken: " . ($end_time - $start_time) . " seconds" . BR;
} catch (\Exception $e) {
    echo S_PRE . $e . E_PRE;
    $page_title = $cascade->getAsset(a\TextBlock::TYPE, $base_page->getBlockId("site-config-group;page-title"));
    $search_form = $cascade->getAsset(a\TextBlock::TYPE, $base_page->getBlockId("site-config-group;search-form"));
    // two modes, convert one or more pages at a time,
    // or convert a folder at a time
    switch ($mode) {
        // use this to convert a page or a few pages at a time
        case 'page':
            $page_ids = array('157ddb6d8b7f08ee3d99a2110e727e33', '');
            foreach ($page_ids as $page_id) {
                if ($page_id == "") {
                    break;
                }
                // break at the first empty string
                $child = new p\Child($service->createId(a\Page::TYPE, $page_id));
                // call the global function directly
                assetTreeSwitchPageContentType($service, $child, array('ct' => $ct, 'bp' => $base_page, 'google-tag' => $google_tag, 'site-storage' => $site_storage, 'link-script' => $link_script, 'page-title' => $page_title, 'search-form' => $search_form));
            }
            break;
            // use this to convert pages in a folder
        // use this to convert pages in a folder
        case 'folder':
            // folder containing pages to convert
            $f = $cascade->getAsset(a\Folder::TYPE, '157dd5ae8b7f08ee3d99a2114d277bef');
            // traverse the folder
            $f->getAssetTree()->traverse(array(a\Page::TYPE => array('assetTreeSwitchPageContentType')), array('ct' => $ct, 'bp' => $base_page, 'google-tag' => $google_tag, 'site-storage' => $site_storage, 'link-script' => $link_script, 'page-title' => $page_title, 'search-form' => $search_form, 'skip' => array("_extra/news-feed")));
            break;
    }
    u\DebugUtility::outputDuration($start_time);
} catch (\Exception $e) {
    echo S_PRE . $e . E_PRE;
    u\DebugUtility::outputDuration($start_time);