start battle impl