added some assert statements and made it so  we use NodeTuples in all