rework on template