Added command I and D in recursive form. Tested and working, but passing by value instead of recursive.