adding templates and utility apis