explicit recursive attempt