add template prototype