adds a key/value store. closes #20