Hello! I am trying to understand Ruby's pure OO concept. As my understanding is limited, my questions might seem silly...;-) 1. In irb, if I type self, it returns main which is type of Object. >self =>main >self.class =>Object >main NameError: undefined local variable or method `main' for main:Object from (irb):28 from :0 I understand that main is an instance of type Object. Why can't I access main directly like main.something? What *actually* is main? A global instance? 2. I heard that the top-level functions become methods of Object. Then am I defining a class (Object)? If I do the following >print "Hello" what did I do? Am I in the Object class definition part or outside of Object? In other words, is the code <print "Hello"> part of Object? If not, how is it related to main? Likewise, if I declare a variable on top-level, is it part of Object? Of course, it's a global variable. Is a global variable outside of Object class? If so, it's not OO...? Well, I hope I expressed my questions well. Thanks in advance. kong