+ added serial port implementation