reworking the node data structures
major reworking; still doesn't work yet, but getting closer
milestone: it makes sound