added RateMonitor class to clean up rate queue handling in main.py