Add basic functionality. Recursion seems to work.