add communication and program