mostly finish recursion exercises