add rate func