template updated, DRY method