Thanks for the info, i will attemept to build one of these. I did resolve the problem with the sketch by changing over to hardware serial, i replaced
unsigned long start = millis();
do
{
while (ss.available())
gps.encode(ss.read());
with
unsigned long start = millis();
do
{
while (Serial.available())
gps.encode(Serial.read());
and everything is working.
Thanks again for your help and info.