change price to support both types of requests
add the todos left, and a diagram