basic Object refactoring