Implementing Recursion Using Stacks