untested new preference-based exchange rate implementation complete