#15 IO with rate limiter