refactor: moves classes into separate files