init battle + refacotoring