refactored objects