Abandon the recursive function, it sucks