Added refactored classes

Still needs libs