future style of request-response