Add lots of types, and almost fully map out request.