removed unneeded full call when local instance of function existed.
added pairs to functions allowed in modules scope.
added more steps along the way to fully tested