improve rate limit