improved for when is not root