added the ability to reorder nodes