refactor Duel to use base class