added prototypes for send and receive functions