Make the request stuff reusable