Templates are broken out, so much cleaner