add top_node function