working on battle method