price refactoring