factor out language specific code from the actual duel logic