root doesn't need to be passed in, was in constructoe