adding refactored classes