recursion still needs work; passes most test2