working on the class refactor