pricing and other refactoring