refactored back to single class Unit