separate model, integrate OpenKeyval datasource