basic-recursion completed