make the data cache flat and use just type/value