the Context is really totally different on the client and server, though they should have the same apis