updated to require root