start moving to template level subs