made both recursive and iterative versions of each function active;
Merge remote-tracking branch 'origin'