Hmmm.....Option 1 is not really feesable because of cost. Options 2 and 3 would be a big pain although they are doable. I think there has to be a way to do what I am trying to accompish biw the Interop. I'm able to get and set properties by using type.InvokeMember() and I can even get an event object by using type.GetEvent(), I just need that last little bit to bind it to my event handlers. Thank you, Eric Ritzie