moving throttling to it's own thread