1.add result cache