do we need a special case for the root node here?