exchange extremely reworked, all worked perfectly
exchange added and refactoring