Use stack allocation for cleaner code
Consolidate node construction code
fixup
Cleanup some error-handling
wip
wip