fixed some bugs, getting closer to supporting recursion