turned duel() into an actual(ish) singleton object