traverse up all parents for recovery: test included