updated with travel modes, user location