properties refactored