exchange looks done, refactoring, test files added