added battle functionality