properties refactoring