Index: src/com/medievaltech/game/Map.java
===================================================================
--- src/com/medievaltech/game/Map.java	(revision 6a639f78980344c51b6264c59bd408e52ed8630f)
+++ src/com/medievaltech/game/Map.java	(revision b97a61801c2efdfad66c28c6dcde99b537243f98)
@@ -6,11 +6,14 @@
 public class Map {
 	private Tile[][] grid;
+	public Point offset;
 	
-	public Map(int width, int height) {
+	public Map(int width, int height, Point offset) {
 		grid = new Tile[width][height];
+		this.offset = offset;
 	}
 	
-	public Map(Tile t, int width, int height) {
+	public Map(Tile t, int width, int height, Point offset) {
 		grid = new Tile[width][height];
+		this.offset = offset;
 		
 		for(int x=0; x<getWidth(); x++)
@@ -39,8 +42,14 @@
 	}
 	
-	public void draw(Canvas c, int xStart, int yStart) {
+	public void draw(Canvas c) {
 		for(int x=0; x<getWidth(); x++)
 			for(int y=0; y<getHeight(); y++)
-				grid[x][y].draw(c, xStart+50*x, yStart+50*y);
+				grid[x][y].draw(c, offset.x+50*x, offset.y+50*y);
+	}
+	
+	public void drawUnits(Canvas c) {
+		for(int x=0; x<getWidth(); x++)
+			for(int y=0; y<getHeight(); y++)
+				grid[x][y].drawUnit(c, offset.x+50*x, offset.y+50*y);
 	}
 }
Index: src/com/medievaltech/game/Tile.java
===================================================================
--- src/com/medievaltech/game/Tile.java	(revision 6a639f78980344c51b6264c59bd408e52ed8630f)
+++ src/com/medievaltech/game/Tile.java	(revision b97a61801c2efdfad66c28c6dcde99b537243f98)
@@ -43,5 +43,7 @@
 	public void draw(Canvas c, int x, int y) {
 		c.drawRect(x, y, x+50, y+50, p);
-		
+	}
+	
+	public void drawUnit(Canvas c, int x, int y) {
 		if(currentUnit != null)
 			currentUnit.draw(c, x+25, y+25);
Index: src/com/medievaltech/game/Unit.java
===================================================================
--- src/com/medievaltech/game/Unit.java	(revision 6a639f78980344c51b6264c59bd408e52ed8630f)
+++ src/com/medievaltech/game/Unit.java	(revision b97a61801c2efdfad66c28c6dcde99b537243f98)
@@ -60,5 +60,5 @@
 					visited[p.x-location.x+move-1][p.y-location.y+move] = true;
 				}
-				if(p.x<8 && p.x<location.x+move && !visited[p.x-location.x+move+1][p.y-location.y+move]) {
+				if(p.x<5 && p.x<location.x+move && !visited[p.x-location.x+move+1][p.y-location.y+move]) {
 					cur.add(new Point(p.x+1, p.y));
 					visited[p.x-location.x+move+1][p.y-location.y+move] = true;
@@ -68,5 +68,5 @@
 					visited[p.x-location.x+move][p.y-location.y+move-1] = true;
 				}
-				if(p.y<6 && p.y<location.y+move && !visited[p.x-location.x+move][p.y-location.y+move+1]) {
+				if(p.y<7 && p.y<location.y+move && !visited[p.x-location.x+move][p.y-location.y+move+1]) {
 					cur.add(new Point(p.x, p.y+1));
 					visited[p.x-location.x+move][p.y-location.y+move+1] = true;
