Index: src/com/example/gui/Button.java
===================================================================
--- src/com/example/gui/Button.java	(revision 205f52559a003a3536c9a449195016f93a0b4c4b)
+++ src/com/example/gui/Button.java	(revision 205f52559a003a3536c9a449195016f93a0b4c4b)
@@ -0,0 +1,23 @@
+package com.example.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/example/gui/GUIObject.java
===================================================================
--- src/com/example/gui/GUIObject.java	(revision 205f52559a003a3536c9a449195016f93a0b4c4b)
+++ src/com/example/gui/GUIObject.java	(revision 205f52559a003a3536c9a449195016f93a0b4c4b)
@@ -0,0 +1,40 @@
+package com.example.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/example/gui/Text.java
===================================================================
--- src/com/example/gui/Text.java	(revision 205f52559a003a3536c9a449195016f93a0b4c4b)
+++ src/com/example/gui/Text.java	(revision 205f52559a003a3536c9a449195016f93a0b4c4b)
@@ -0,0 +1,22 @@
+package com.example.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);
+	} 
+}
