Finish messy first pass on nodes. Needs refactor.