diff --git a/ivette/src/frama-c/states.js b/ivette/src/frama-c/states.js
index 5578e979f60709df23d3bd48d4677639674d9af9..661315cc69a7e5b66d8a13808260d61afa376eb7 100644
--- a/ivette/src/frama-c/states.js
+++ b/ivette/src/frama-c/states.js
@@ -272,7 +272,7 @@ class SyncArray
 
   getItems() {
     if (!this.insync && Server.isRunning()) this.fetch();
-    return this.items;
+    return this.index;
   }
 
   isEmpty() {
@@ -290,16 +290,15 @@ class SyncArray
           reloaded = this.isEmpty();
           this.index = {};
         }
-        removed.forEach((id) => {
-          delete this.index[id];
+        removed.forEach((key) => {
+          delete this.index[key];
         });
         updated.forEach((item) => {
-          this.index[item.id] = item;
+          this.index[item.key] = item;
         });
         if (reloaded || removed.length || updated.length)
           Dome.emit( this.UPDATE );
         if (pending>0) {
-          console.log('PENDING');
           this.fetch();
         }
       });
diff --git a/ivette/src/renderer/Properties.js b/ivette/src/renderer/Properties.js
index eed27a148fc9c193fb5099def75facf4c668a6b3..bcece26446149430bbe4693f2c82798c490c100d 100644
--- a/ivette/src/renderer/Properties.js
+++ b/ivette/src/renderer/Properties.js
@@ -2,22 +2,25 @@
 // --- Properties
 // --------------------------------------------------------------------------
 
+import _ from 'lodash' ;
 import React from 'react' ;
 import Dome from 'dome' ;
 import States from 'frama-c/states' ;
 import { ArrayModel } from 'dome/table/arrays' ;
+import { Table, Column, DefineColumn } from 'dome/table/views' ;
 
 // --------------------------------------------------------------------------
 // --- Properties Array
 // --------------------------------------------------------------------------
 
-const Table = () => {
+const PropTable = () => {
   const model = React.useMemo( () => new ArrayModel() );
-  const items = States.useSyncArray('kernel.properties');
+  const items = _.toArray( States.useSyncArray('kernel.properties') );
+  console.log(items);
   if (items)
     return (
       <ul>
-        {items.map((item) => (<li key={item.id}><tt>{item.id}</tt></li>))}
+        {items.map((item) => (<li key={item.key}><tt>{item.key}</tt></li>))}
       </ul>
     );
   else
@@ -28,6 +31,6 @@ const Table = () => {
 // --- Exports
 // --------------------------------------------------------------------------
 
-export default { Table };
+export default { PropTable };
 
 // --------------------------------------------------------------------------
diff --git a/src/plugins/server/states.ml b/src/plugins/server/states.ml
index 9ec13539dd1a4a1e4e83dfb3f80742f0cd7ad763..7ba8567e3eec5fd79a1b9d80c3c6d445e8fb9380 100644
--- a/src/plugins/server/states.ml
+++ b/src/plugins/server/states.ml
@@ -96,7 +96,7 @@ let model () = ref []
 let column (type a b) ~(model : a model) ~name ~descr
     ~(data: b Request.output) ~(get : a -> b) () =
   let module D = (val data) in
-  if name = "id" || name = "_index" then
+  if name = "key" || name = "index" then
     raise (Invalid_argument "Server.States.column: invalid name") ;
   if List.exists (fun (fd,_) -> fd.Syntax.name = name) !model then
     raise (Invalid_argument "Server.States.column: duplicate name") ;