alternate invocation