add 8 kinds of nodes