#22 - finish changing classes and structure