Optimal algorithm now actually works recursively