-Do main recursion correctly