generate form type