allow template customization