progress on node creation and traversal
store node children in an array