add a test for recursive functions