added prototypes for communication