refactoring classes into separate files