add overc-with-cache: memoized wrapper around over/overc
use cache in more places