implement more parts of the battler