fleshed out the request handlers

filled out the request handlers so that the protocol and errors should
be clear.