add template functionality