adding pre-emptive watched caching