completed recusion exercises