add auto cache