refactored
moved the classes