Added variable throttle and refactored.