Recursive invoker