cache recursions