Hi everyone, I''m trying to set up a plugin structure where I have a main module (for argument''s sake called "Abc"), which I want to be able to access in my controllers. So far, so good. I can invoke Abc.method_name without difficulties. The problems start once I the next part of my plugin: I want to extend Abc with another module or class, either Foo or Bar, with a method such as: Abc.choose_child(''Foo'') The code I currently have is: /vendors/plugin/my_plugin/lib/abc.rb module ABC def self.choose_child(child) require "children/" + child send :include, child.constantize end end ActionController::Base.send :include, SOAPHandler /vendors/plugin/my_plugin/lib/children/foo.rb module Foo def self.foobar return "hello from Foo" end end /vendors/plugin/my_plugin/lib/children/bar.rb module Bar def self.foobar return "hello from Bar" end end Then, I want to be able to--in my controllers--do Abc.foobar, which would return either "hello from Foo" or "hello from Bar" depending on which one I loaded with choose_child. This is the loose implementation, anyway--feel free to point out a better structure. Any help would be appreciated. Best regards, Sebastian