Move build_request into client