removed an error catch with recursive call to avoid infinite loop.