I found a good tutorial of how to supply the objects without having the implementation files on the client. This was working great until I realized that I couldnt use any constructors with server activated objects, so I switched to client activated objects only to run into the next roadblock, doh! can&#039;t instantiate abstract classes... here is a simple example of the structure, im sure there is a way to do it to allow instantiation but I am not as knowledgeable of inheritance as I should be: <BR><BR><BR>namespace JLClient<BR><BR>{<BR><BR>public abstract class address : MarshalByRefObject<BR><BR>{<BR><BR> public abstract string foo{get;set;}<BR><BR> public abstract string test();<BR><BR>}<BR><BR>}<BR><BR><BR><BR>namespace JLBase<BR><BR>{<BR><BR>public class address : JLClient.address<BR><BR>{<BR><BR> public override string foo{get{return _foo;}set{_foo=value}}<BR><BR> public override string test()<BR><BR> { return "blah"; }<BR><BR> private string _foo;<BR><BR>}<BR><BR>}<BR><BR><BR>The client will only need to have the JLClient.dll for the structure information and everything would work great... how do I do it without using abstract classes and still having access to various constructors?.