implement battle