Added framework for sending and receiving