Modern web sites are meant to be dynamic. Very few web sites are based purely on document structure and style sheets. Web site sections often behave differently or react to user input. While small programs can run in the browser, complex functions are usually executed on the web server. Most dynamic sites are powered by databases that are handled by server-side scripts. Since server-side languages frequently use variables and reuse large code blocks, the validity of the generated code relies on the code quality of the development framework, the Content Management System, or the templates, often resulting in incorrect markup and styles. Even so, web designers can modify the code so that the server-side system will generate valid, error-free markup and style sheets. This can be challenging if the framework or CMS core uses invalid syntax and multiplies incorrect code blocks throughout the site.