exchange fixes + tests