use a special class for the root node