Abstract serialport