rework KvDataStore