added partial root checks, need to reconsider.