actually doing recursion now