I think I understand all of the code in this thread (see below) except for the 2nd line "attr_reader :name, :total_of_cars". Could you, or someone, explain this line to me, please? Also, I tried putting this code into a single *.rb file and I couldn't get any output. I did get a few warnings, however: ex. ./1foo.rb:4: warning: parenthesize argument(s) for future version ./1foo.rb:7: warning: parenthesize argument(s) for future version ./1foo.rb:8: warning: parenthesize argument(s) for future version ./1foo.rb:12: warning: parenthesize argument(s) for future version ./1foo.rb:12: warning: parenthesize argument(s) for future version ./1foo.rb:13: warning: parenthesize argument(s) for future version ./1foo.rb:4: undefined method ` for CarBuilder:Class (NoMethodError) I guess the warnings mean that some syntax is being deprecated in later versions. Assuming that is correct, I still don't see what is generating the last error. So, I tried using irb to enter it line by line. However, when I get down to the where I declare the first instance (h = CarBuilder.new "Honda"), irb gives me the error, "NameError: uninitialized constant CarBuilder". Finally, I don't see where you are keeping up with the actual total of cars built by all manufacturers. So, for practice, I was going to try to extend this code to handle that. Would the proper way to do that be to declare a class variable (like @@collective_total = 0) and put it somewhere inside of the class (like right after the attr_reader . . . line)? Then, inside of the build method, bump the collective_total? Thanks, Darren > class CarBuilder > attr_reader :name, :total_of_cars > > def initialize(name) > @name = name > @total_of_cars = 0 > end > > def build > puts "#{name} builds another car" > @total_of_cars += 1 > end > end > > h = CarBuilder.new "Honda" > f = CarBuilder.new "Ford" > > h.total_of_cars > f.total_of_cars > > h.build > h.build > h.build > f.build > > h.total_of_cars > f.total_of_cars > > > ?> h = CarBuilder.new "Honda" > => #<CarBuilder:0x101865d0 @name="Honda", @total_of_cars=0> > > >> f = CarBuilder.new "Ford" > > => #<CarBuilder:0x10183af8 @name="Ford", @total_of_cars=0> > > ?> h.total_of_cars > => 0 > > >> f.total_of_cars > > => 0 > > ?> h.build > Honda builds another car > => 1 > > >> h.build > > Honda builds another car > => 2 > > >> h.build > > Honda builds another car > => 3 > > >> f.build > > Ford builds another car > => 1 > > ?> h.total_of_cars > => 3 > > >> f.total_of_cars > > => 1 > > Regards > > robert