implementing data exchange
still one singularity pending to be solved