added root functions