added IVehicle & Direction enum