From my experience with Ruby I can say that people often just overuse Ruby modules (and generally all Ruby metaprogramming stuff and dynamic capabilities). I think that using modules should be similar to Enumerable. Just include it, define one (two) special methods (each, <=>) and you have some functionality. But Ruby programmers (I'm Ruby programmer to :)) tend to use modules to distribute class implementations to diffrent part (so they use many instance variables and internal part of desired class). For example, when I want to find what methods are in controller instance (rails) I can't just go to ActionController::Base and list all methods because that class has many included modules (and many of them are included outside class). I'm not complaining about Ruby itself, rather about programmers :). -- Radosw Bu„Šat http://radarek.jogger.pl - m blog