using the template system