All of your requirements are implemented in geometrixx site. You can review why & how to create templates & components. Also, you could explore how to override only body of the template and header, footer inherits from some common template.Regards,Jitendra