moving to a template system