created new classes for better project structure