# How to extend the CMS interface # ## Introduction ## The CMS interface works just like any other part of your website: It consists of PHP controllers, templates, CSS stylesheets and JavaScript. Because it uses the same base elements, it is relatively easy to extend. As an example, we're going to add a permanent "bookmarks" link list to popular pages into the main CMS menu. A page can be bookmarked by a CMS author through a simple checkbox. For a deeper introduction to the inner workings of the CMS, please refer to our guide on [CMS Architecture](../reference/cms-architecture). ## Overload a CMS template ## If you place a template with an identical name into your application template directory (usually `mysite/templates/`), it'll take priority over the built-in one. CMS templates are inherited based on their controllers, similar to subclasses of the common `Page` object (a new PHP class `MyPage` will look for a `MyPage.ss` template). We can use this to create a different base template with `LeftAndMain.ss` (which corresponds to the `LeftAndMain` PHP controller class). Copy the template markup of the base implementation at `framework/admin/templates/Includes/LeftAndMain_Menu.ss` into `mysite/templates/Includes/LeftAndMain_Menu.ss`. It will automatically be picked up by the CMS logic. Add a new section into the `