refactored refaults and roots