further Object refactoring