Separated classes into separate files and trivial tests implemented