REFACTOR: distribute classes to multiple files