serial port initial implementation