add test for three way of data transfer