refactor properties