Block driven CMS