need make sure $rate isn't `0`