model: rearrange conditionals, fixup take_step()