first data exchange implementation