add gmaps and improve