Well it's interesting. Our data layer is ADO .NET and so with ADO .NET we were attempting to as I said previously unify the XML and the relational models and so ADO .NET provides very very rich infrastructure to sort of allow you to treat XML data as relational data and relational data as XML data so you don't have to treat those two different types of data separately. Now we do provide a functionality called a type data set which is really a cool piece of functionality. In essence what it can do is it can inspect your relational store and then pull the schema out and create objects for you. The really cool feature that, let me give you an example of what that is, is let's say that I had a customer table and inside of that customer table I had ID and Name, and those are two fields, rather, not fields but columns in that table. Our tools can go in, take a look at that schema and then generate a customer object that would have a Name and an ID field for you and then I can envoke either inline SQL or a stored procedure that will populate that set of objects and then I can just treat it as I would anything else. So if I'd like to change the Name or access a Name I'd just say customer.Name, customer.ID.