don't use scoping for top level algorithms