hello, I'm surprized by this : module M2; end class C2; include M2; end module M2; def m; puts "hello world" end; end C2.new.m >> hello world module M5; def m; puts "hello world" end; end module M4; include M5; end class C4; include M4; end C4.new.m >> hello world module M7; def m; puts "hello world" end; end module M6; end class C5; include M6; end module M6 include M7; end C5.new.m >> test.rb:13: undefined method `m' for #<C5:0xb7ca02bc> (NoMethodError) obviously M7 is not found in the ansestors of C5, has show by the ancestors method. could someone enlighten me please best regards Jrmy Zurcher