Adding working version, but still with recursion.: