separated the template to a base template