working request/response cycle