work on error handling, callbacks, errbacks, and add new RateLimitException