rate functions