change the way of receive data