Well it's fairly simple. In .NET, if you'd like to create an instance of a component whether or not it's local or it's remote, you simply utilize the new operator. Now, .NET is smart enough to figure out whether or not something is local or remote and how we do that is via, typically a configuration file. So if something is remote, you simply annotate that into a configuration file and then the .NET framework can go out and find the instance, or rather the class, and create an instance on your behalf. Now the interesting thing about that is we do support that however we simply do not recommend that because we believe that you should logically partition your tiers however physically deploy them together. The reason for that typically is for performance. Microsoft is very focused on how can we build the most scalable, most performant systems. And a lot of the times what we find is creating instances of components on other servers, obviously there's a cost there as well as a marshalling cost between those two layers. So if you compress those layers and bring them in process if possible, there's a win win there.