rate limit handling and more