Recursive function is apparently working correctly #20 #21 #13 , close #14