sender and reciever improved