re-implemented the requests