recursion hw