added GPS function