https://medium.com/@akashkhandelwal1999/recursion-vs-loop-which-one-for-batch-processing-4a97e531471a