added value cache because the way cb manages value makes no since