recursive function test complete