basic comment tree functional