mutual recursion, stage 1