created all classes and methods