Implemented all of the purchase methods