add a request callback