0.2 refactor for singleton invocation