Refactoring property model