add rate , del func