added pricing methods
refactored some methods to be unexposed