add addNode function
add traversal methods