Refactor datastore module and add basetest module