request wrapper and callbacks for requests