more sturdy caching, in cases where null is set as the value