added modem.c