added throttling mechanisms