First commit based on .net version. Serialisation does not yet work, but most of the structure of the project is in place.