Rearranged require_self and require_tree