implemented serial port discovery