one way of handling rate limits