root node do not necessary need a prototype