diff --git a/modules/gps/gps.go b/modules/gps/gps.go
index 2734a3b4..65c92596 100644
--- a/modules/gps/gps.go
+++ b/modules/gps/gps.go
@@ -106,21 +106,12 @@ func (mod *GPS) readLine() (line string, err error) {
 }
 
 func (mod *GPS) Show() error {
-	if mod.Session.GPS.GNGGA.Time.Valid {
-		fmt.Printf("latitude:%f longitude:%f quality:%s satellites:%d altitude:%f\n",
-			mod.Session.GPS.GNGGA.Latitude,
-			mod.Session.GPS.GNGGA.Longitude,
-			mod.Session.GPS.GNGGA.FixQuality,
-			mod.Session.GPS.GNGGA.NumSatellites,
-			mod.Session.GPS.GNGGA.Altitude)
-	} else {
-		fmt.Printf("latitude:%f longitude:%f quality:%s satellites:%d altitude:%f\n",
-			mod.Session.GPS.GPGGA.Latitude,
-			mod.Session.GPS.GPGGA.Longitude,
-			mod.Session.GPS.GPGGA.FixQuality,
-			mod.Session.GPS.GPGGA.NumSatellites,
-			mod.Session.GPS.GPGGA.Altitude)
-	}
+	fmt.Printf("latitude:%f longitude:%f quality:%s satellites:%d altitude:%f\n",
+		mod.Session.GPS.Latitude,
+		mod.Session.GPS.Longitude,
+		mod.Session.GPS.FixQuality,
+		mod.Session.GPS.NumSatellites,
+		mod.Session.GPS.Altitude)
 
 	mod.Session.Refresh()
 
@@ -133,7 +124,6 @@ func (mod *GPS) Start() error {
 	}
 
 	return mod.SetRunning(true, func() {
-
 		defer mod.serial.Close()
 
 		for mod.Running() {
@@ -141,9 +131,21 @@ func (mod *GPS) Start() error {
 				if s, err := nmea.Parse(line); err == nil {
 					// http://aprs.gids.nl/nmea/#gga
 					if m, ok := s.(nmea.GNGGA); ok {
-						mod.Session.GPS.GNGGA = m
+						mod.Session.GPS.Latitude = m.Latitude
+						mod.Session.GPS.Longitude = m.Longitude
+						mod.Session.GPS.FixQuality = m.FixQuality
+						mod.Session.GPS.NumSatellites = m.NumSatellites
+						mod.Session.GPS.HDOP = m.HDOP
+						mod.Session.GPS.Altitude = m.Altitude
+						mod.Session.GPS.Separation = m.Separation
 					} else if m, ok := s.(nmea.GPGGA); ok {
-						mod.Session.GPS.GPGGA = m
+						mod.Session.GPS.Latitude = m.Latitude
+						mod.Session.GPS.Longitude = m.Longitude
+						mod.Session.GPS.FixQuality = m.FixQuality
+						mod.Session.GPS.NumSatellites = m.NumSatellites
+						mod.Session.GPS.HDOP = m.HDOP
+						mod.Session.GPS.Altitude = m.Altitude
+						mod.Session.GPS.Separation = m.Separation
 					}
 				} else {
 					mod.Debug("error parsing line '%s': %s", line, err)
diff --git a/session/session.go b/session/session.go
index b2befd2f..237690a1 100644
--- a/session/session.go
+++ b/session/session.go
@@ -21,8 +21,6 @@ import (
 	"github.com/bettercap/bettercap/network"
 	"github.com/bettercap/bettercap/packets"
 
-	"github.com/adrianmo/go-nmea"
-
 	"github.com/evilsocket/islazy/fs"
 	"github.com/evilsocket/islazy/log"
 	"github.com/evilsocket/islazy/ops"
@@ -74,8 +72,13 @@ func (mm ModuleList) MarshalJSON() ([]byte, error) {
 }
 
 type GPS struct {
-	GNGGA nmea.GNGGA
-	GPGGA nmea.GPGGA
+	Latitude      float64 // Latitude.
+	Longitude     float64 // Longitude.
+	FixQuality    string  // Quality of fix.
+	NumSatellites int64   // Number of satellites in use.
+	HDOP          float64 // Horizontal dilution of precision.
+	Altitude      float64 // Altitude.
+	Separation    float64 // Geoidal separation
 }
 
 type Session struct {