Created almost all classes to generate user