added basic datamodel support for loading and saving