refactor datastore objects into submodule