Rewrite throttle and fix #11