this should be private, no other instances of Root should call it