refactored
added spec for gps model
added gps
refactored specs for better semantics
delegated search to gps class