need to figure out the error checking for elements inside a g
drag works, but it's laggy. might need to redo node repeater to eliminate node.map