add method cache