Index: src/com/medievaltech/gui/Button.java
===================================================================
--- src/com/medievaltech/gui/Button.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
+++ src/com/medievaltech/gui/Button.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
@@ -0,0 +1,23 @@
+package com.medievaltech.gui;
+
+import android.graphics.Canvas;
+import android.graphics.Paint;
+
+public class Button extends GUIObject {
+	private String text;
+	private Paint textPaint;
+	private float vOffset;
+	
+	public Button(String newText, int newX, int newY, int newWidth, int newHeight, Paint linePaint, Paint textPaint) {
+		super(newX, newY, newWidth, newHeight, linePaint);
+		
+		this.textPaint = textPaint;
+		text = newText;	
+		vOffset = -(textPaint.getFontMetrics().ascent+textPaint.getFontMetrics().descent)/2;
+	}
+	
+	public void draw(Canvas c) {
+		c.drawRect(x, y, x+width, y+height, p);
+		c.drawText(text, x+width/2, y+height/2+vOffset, textPaint);
+	} 
+}
Index: src/com/medievaltech/gui/GUIObject.java
===================================================================
--- src/com/medievaltech/gui/GUIObject.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
+++ src/com/medievaltech/gui/GUIObject.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
@@ -0,0 +1,40 @@
+package com.medievaltech.gui;
+
+import android.graphics.*;
+
+public class GUIObject {
+	protected int x, y, width, height;
+	protected Paint p;	//all properties of the object are determined through the paint object
+	
+	public GUIObject(int newX, int newY, int newWidth, int newHeight, Paint p) {
+		x = newX;
+		y = newY;
+		width = newWidth;
+		height = newHeight;
+		this.p = p;
+	}
+	
+	public void draw(Canvas c) {
+
+	}
+	
+	public boolean isClicked(float xCoord, float yCoord) {
+		return x <= xCoord && xCoord <= x+width && y <= yCoord && yCoord <= y+height;
+	}
+	
+	public int getX() {
+		return x;
+	}
+	
+	public int getY() {
+		return y;
+	}
+	
+	public int getWidth() {
+		return width;
+	}
+	
+	public int getHeight() {
+		return height;
+	}
+}
Index: src/com/medievaltech/gui/Text.java
===================================================================
--- src/com/medievaltech/gui/Text.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
+++ src/com/medievaltech/gui/Text.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
@@ -0,0 +1,22 @@
+package com.medievaltech.gui;
+
+import android.graphics.Canvas;
+import android.graphics.Paint;
+
+public class Text extends GUIObject {
+	private String text;
+	private Paint textPaint;
+	private float vOffset;
+	
+	public Text(String newText, int newX, int newY, int newWidth, int newHeight, Paint textPaint) {
+		super(newX, newY, newWidth, newHeight, null);
+		
+		this.textPaint = textPaint;
+		text = newText;	
+		vOffset = -(textPaint.getFontMetrics().ascent+textPaint.getFontMetrics().descent)/2;
+	}
+	
+	public void draw(Canvas c) {
+		c.drawText(text, x+width/2, y+height/2+vOffset, textPaint);
+	} 
+}
Index: src/com/medievaltech/gui/Window.java
===================================================================
--- src/com/medievaltech/gui/Window.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
+++ src/com/medievaltech/gui/Window.java	(revision abe7b3dfb5b7b3fde546e631b3e04eabb38a0c6d)
@@ -0,0 +1,29 @@
+package com.medievaltech.gui;
+
+import java.util.Hashtable;
+
+import android.graphics.Canvas;
+
+public class Window extends GUIObject {
+	private Hashtable<String, GUIObject> drawableObjects;
+	
+	public Window(int newX, int newY, int newWidth, int newHeight) {
+		super(newX, newY, newWidth, newHeight, null);
+		
+		drawableObjects = new Hashtable<String, GUIObject>();
+	}
+	
+	public void addGUIObject(String name, GUIObject o) {
+		drawableObjects.put(name, o);
+	}
+	
+	public GUIObject getGUIObject(String name) {
+		return drawableObjects.get(name);
+	}
+	
+	public void draw(Canvas c) {
+		for (GUIObject o : drawableObjects.values()) {
+    		o.draw(c);
+    	}
+	}
+}
