add code generate for zero parameter type constructor
refactoring code generator for type declaration
add data constrcutor
add factory for type constructor