real exch refactor