add template generator