a program that can sit between a serial port and an application
