updated with Nodes and some tidying up