only use root when needed