started implementing client.request