Worked with functions including recusion and defer.