only re-request blocks when they are missed, ditch the contains caching for blocks