rework comm.c