add auto_node_gen method