So, the destination seems wrong, as well as Cars, Caboose, and Passengers. 

If your definition for train is `Struct.new(:destination, :number_of_cars, :caboose, :number_of_engine)` then what are you sending in?

```ruby
Train = Struct.new(:destination, :number_of_cars, :caboose, :number_of_engine)
```

There isn't a place for passengers.

And to simplify things, let's change

```ruby
train = Train.new( passengers, {destination: 'New York', number_of_engines: 4, caboose: true, number_of_cars: 5})
```

to

```ruby
train = Train.new( passengers, 'New York', 4, true, 5)
```