added some more framework to work with (mostly data storage stuff)