General updates, mainly re-orderring of templates with boilerplate logic