Split the classes into separate files. Fixed tests