lots of changes to DataStore.js