new version of communication.h