not threadsafe
cache removal improvements