Splitting classes into files, creating tests, starting refactor