I have tried so many places to know exactly what happens under the hood when the Naming.lookup(...) is called by the client but havent got a satisfactory answer. I know that the instance of InterfaceImpl_stub bound to the server name is returned which is then casted to the Inteface type. Now 1. what exactly happens underneath? 2. how is the stub instance returned? What is the flow? 3. Java 1.1 had ClassImpl_skeleton class but 1.2 doesnt have it, how is this change handled internally? I have many related questions but I dont know if can ask all of them but I sincerely hope that by starting this thread we would have a meaningful discussion which would probably answer my questions! Thanks!