Index: src/com/medievaltech/advancewars/GameView.java
===================================================================
--- src/com/medievaltech/advancewars/GameView.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/advancewars/GameView.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -2,4 +2,5 @@
 
 import java.io.*;
+import java.util.*;
 
 import com.medievaltech.advancewars.Enum.*;
@@ -27,7 +28,6 @@
         public Turn mTurn;
         
-        //temporary variable to let the enemy control a specific unit
-        //ownership of units hasn't been implemented yet
-        public Unit enemyUnit;
+        public Player enemy;
+        private Unit selectedUnit;
         
         private int mCanvasHeight = 1;
@@ -35,5 +35,5 @@
 
         private Paint mLinePaint, mTextPaint, mButtonPaint, mTilePaint1,
-        			mTilePaint2, mSelectionPaint, mUnitPaint;
+        			mTilePaint2, mSelectionPaint, mUnitPaint1, mUnitPaint2;
 
         /** Indicate whether the surface has been created & is ready to draw */
@@ -44,5 +44,4 @@
         
         private com.medievaltech.gui.Window wndMainMenu;
-        private Unit selectedUnit;
         
         public DrawingThread(SurfaceHolder surfaceHolder, Context context, Handler handler) {
@@ -73,7 +72,11 @@
             mTilePaint2.setARGB(255, 0, 0, 255);
             
-            mUnitPaint = new Paint();
-            mUnitPaint.setAntiAlias(true);
-            mUnitPaint.setARGB(255, 255, 0, 0);
+            mUnitPaint1 = new Paint();
+            mUnitPaint1.setAntiAlias(true);
+            mUnitPaint1.setARGB(255, 255, 0, 0);
+            
+            mUnitPaint2 = new Paint();
+            mUnitPaint2.setAntiAlias(true);
+            mUnitPaint2.setARGB(255, 160, 160, 255);
             
             mSelectionPaint = new Paint();
@@ -106,9 +109,10 @@
             }
             
-            enemyUnit = new Soldier(mUnitPaint);
-            
-            mMap.getTile(0, 0).addUnit(enemyUnit);
-            mMap.getTile(2, 3).addUnit(new Soldier(mUnitPaint));
-            mMap.getTile(5, 6).addUnit(new Soldier(mUnitPaint));
+            Player humanPlayer = new Player("Human", mUnitPaint1);
+            enemy = new Player("Comp", mUnitPaint2);
+            
+            mMap.getTile(0, 0).addUnit(new Soldier(enemy));
+            mMap.getTile(2, 3).addUnit(new Soldier(humanPlayer));
+            mMap.getTile(5, 6).addUnit(new Soldier(humanPlayer));
             
             mTurn = Turn.YOUR_TURN;
@@ -184,9 +188,24 @@
         	switch(mGameState) {
         	case BATTLE_MAP:
-        		int x = thread.enemyUnit.location.x;
-        		int y = thread.enemyUnit.location.y;
-        		thread.mMap.getTile(x, y).removeUnit();
-				thread.mMap.getTile(x, y+1).addUnit(thread.enemyUnit);
-        		mTurn = Turn.YOUR_TURN;
+        		Iterator<Unit> iter = enemy.getControlledUnits().iterator();
+        		Unit cur;
+        		int x, y;
+        		
+        		Log.i("AdvanceWars", "starting to move enemy units");
+        		while(iter.hasNext()) {
+        			cur = iter.next();
+        			x = cur.location.x;
+            		y = cur.location.y;
+            		
+            		Log.i("AdvanceWars", "moving enemy unit");
+            		
+            		//any unit that's in the way is removed (needs to be changed eventuallyy)
+            		thread.mMap.getTile(x, y).removeUnit();
+    				thread.mMap.getTile(x, y+1).addUnit(cur);
+        		}
+        		Log.i("AdvanceWars", "finished moving enemy units");
+        		
+				
+				mTurn = Turn.YOUR_TURN;
         		break;
         	}
@@ -295,5 +314,7 @@
                 			int y = Integer.parseInt(unit.substring(unit.indexOf(",")+1));
             				
-            				mGame.mThread.mMap.getTile(x, y).addUnit(new Soldier(mGame.mThread.mUnitPaint));
+                			Player humanPlayer = new Player("Human", mGame.mThread.mUnitPaint1);
+                			
+            				mGame.mThread.mMap.getTile(x, y).addUnit(new Soldier(humanPlayer));
             			}
             			
@@ -328,4 +349,6 @@
     			}
     			
+    			Log.i("AdvanceWars", "Touch event handling finished");
+    			
     			break;
     		}
Index: src/com/medievaltech/advancewars/Map.java
===================================================================
--- src/com/medievaltech/advancewars/Map.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/advancewars/Map.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -62,4 +62,5 @@
 					Unit u = grid[x][y].currentUnit;
 					//p.println(u.type);
+					//we also need to save the owner of the unit
 					p.println(u.location.x+","+u.location.y);
 				}
Index: src/com/medievaltech/unit/Artillery.java
===================================================================
--- src/com/medievaltech/unit/Artillery.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/Artillery.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -3,5 +3,4 @@
 import java.util.List;
 
-import android.graphics.Paint;
 import android.graphics.Point;
 
@@ -9,5 +8,5 @@
 
 public class Artillery extends Unit{
-	public Artillery(Paint p) 
+	public Artillery(Player p) 
 	{
 		super(p);
Index: src/com/medievaltech/unit/Mech.java
===================================================================
--- src/com/medievaltech/unit/Mech.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/Mech.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -3,5 +3,4 @@
 import java.util.List;
 
-import android.graphics.Paint;
 import android.graphics.Point;
 
@@ -9,5 +8,5 @@
 
 public class Mech extends Unit{
-	public Mech(Paint p) 
+	public Mech(Player p) 
 	{
 		super(p);
Index: src/com/medievaltech/unit/Recon.java
===================================================================
--- src/com/medievaltech/unit/Recon.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/Recon.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -3,5 +3,4 @@
 import java.util.List;
 
-import android.graphics.Paint;
 import android.graphics.Point;
 
@@ -9,5 +8,5 @@
 
 public class Recon extends Unit{
-	public Recon(Paint p) 
+	public Recon(Player p) 
 	{
 		super(p);
Index: src/com/medievaltech/unit/SmTank.java
===================================================================
--- src/com/medievaltech/unit/SmTank.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/SmTank.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -3,5 +3,4 @@
 import java.util.List;
 
-import android.graphics.Paint;
 import android.graphics.Point;
 
@@ -9,5 +8,5 @@
 
 public class SmTank extends Unit{
-	public SmTank(Paint p) 
+	public SmTank(Player p) 
 	{
 		super(p);
Index: src/com/medievaltech/unit/Soldier.java
===================================================================
--- src/com/medievaltech/unit/Soldier.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/Soldier.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -3,5 +3,4 @@
 import java.util.List;
 
-import android.graphics.Paint;
 import android.graphics.Point;
 
@@ -9,5 +8,5 @@
 
 public class Soldier extends Unit{
-	public Soldier(Paint p) 
+	public Soldier(Player p) 
 	{
 		super(p);
Index: src/com/medievaltech/unit/Transport.java
===================================================================
--- src/com/medievaltech/unit/Transport.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/Transport.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -1,10 +1,8 @@
 package com.medievaltech.unit;
-
-import android.graphics.Paint;
 
 public abstract class Transport extends Unit {
 	public Unit storedUnit;
 	
-	public Transport(Paint p) {
+	public Transport(Player p) {
 		super(p);
 	}
Index: src/com/medievaltech/unit/Unit.java
===================================================================
--- src/com/medievaltech/unit/Unit.java	(revision 99433bbe1735aaced0e853872eaa196288a59c68)
+++ src/com/medievaltech/unit/Unit.java	(revision c3ad11c0e1288802860309672b03e1255f430b6d)
@@ -8,8 +8,6 @@
 
 public abstract class Unit {
-	private Paint p;
-	
 	public UnitType type;
-	//public Player owner;
+	public Player owner;
 	
 	public int maxHealth;
@@ -26,10 +24,11 @@
 	public Point location;
 	
-	public Unit(Paint p) 
+	public Unit(Player p) 
 	{
-		this.p = p;
+		p.addUnit(this);
+		
+		owner = p;
 		maxHealth = 10;
 		currentHealth = 10;
-		
 	}
 	
@@ -87,5 +86,5 @@
 	
 	public void draw(Canvas c, int x, int y) {
-		c.drawCircle(x, y, 20, p);
+		c.drawCircle(x, y, 20, owner.getColor());
 	}
 }
