mutual recursion, stage 2