genericise rate limiting, apply to commands