Well there's several so let's look at each one of those. At least we think there are several but you can be the judge of that. First and foremost is multilanguage support. As I was saying previously, we truly believe that a programmer should be able to use multiple languages to solve a given problem. And I think if you look at most application development, you'll see that the majority of projects that people work on in a day in day out basis use more than one language. So the CLR in the .NET framework fully supports the ability to have multiple languages. And I was saying previously, 24 languages in total now and a lot more probably coming. So that's one aspect. The next aspect is, XML everywhere. When we were developing the .NET framework, XML was coming on the scene and we recognized very early how important that was going to be moving forward. So if you look at the core pieces of the framework, we support XML almost everywhere. You know from application configuration to support for bringing in data as XML, support for full serialization format for objects as XML. So anywhere you look inside the .NET framework, you will see XML; you'll see the impact of XML there. Now as an outreach of that or as a piece of that support, we also have web services everywhere so not only do you see XML everywhere but you see web services everywhere. In short, in .NET if it's an executable, it's a web service. So this means if I have an ASP .NET application, so a typical web application, I can expose all that functionality as a web service. Let's say that I have a component that takes advantage of Enterprise Services, I can expose all of those methods in that component as a web service. Let's say again that I have an executable, the command line interface application, I can make that into a web service as well. And last but certainly not least let's say I have a Window's service or the equivalent of that would obviously be a Unix daemon, I can make that into a web service. So if it's an executable, it's a web service, and that's really one of the core advantages of the .NET framework. Another piece is, if you know, we'll probably drill into Enterprise Services, but some of the advantages of Enterprise Services deal with things such as queued components which is a very easy asynchronous model for you to utilize. And I think last, and perhaps most important, if you really look at development tools, we believe that Visual Studio .NET is, bar none, the greatest development environment in the world and also the most productive, the most cost effective way for applications to be written. And so if you talk about what do application developers interface with on a day in day out basis, it's the tool, and we think we have the best tool.