add rate limit handling
add automatic waiting for rate limit reset