recursive initial, no duplicate prevention