rate update functions