still cleaning up and refactoring a unit