Updating from Sylvan's template.
updating to work at root level.
updating to work at root level.
Picking up some tweaks.