fix bugs in GPS.read()