refactoring to remove properties