worked on the recurision example