Added the ability to define an 'internal' definition.
Tweaked the assignment of l to define and assign (instead of using var)