working code with NMEA 0183 support