added an optional root. word([root])