implemented new invoker