refactoring expression