reorganized code for better grouping, added the start of a bunch of new,
gemetric nodes