typedef instead of enum for TravelMode to avoid gcc warnings