refactor: extract Rates interface