refactor WarriorClient