function scope is now local-only, work on NPLib