added template generator