refactoring objects