My personal work on libserialport