add data exahnge function