diff --git a/inc/database.php b/inc/database.php
index 0f13124..678d634 100755
--- a/inc/database.php
+++ b/inc/database.php
@@ -6,11 +6,13 @@ if(count(get_included_files()) ==1) {
 class DataBase extends SQLite3 {
 	function __construct() {
 		$this->open('database.db');
+		$this->exec('PRAGMA foreign_keys=ON;');
+		$this->exec('PRAGMA full_column_names=ON;');
+		$this->exec('PRAGMA short_column_names=OFF;');
 		
 		$sql = "
 			CREATE TABLE IF NOT EXISTS users (
-			id	INTEGER	PRIMARY KEY	AUTOINCREMENT	UNIQUE,
-			uuid	TEXT	UNIQUE,
+			id	INTEGER	PRIMARY KEY	UNIQUE,
 			pass	TEXT,
 			email	TEXT	UNIQUE,
 			handle	TEXT	NOT NULL	UNIQUE,
@@ -19,41 +21,39 @@ class DataBase extends SQLite3 {
 			);
 
 			CREATE TABLE IF NOT EXISTS personas (
-			id	INTEGER	PRIMARY KEY	AUTOINCREMENT	UNIQUE,
-			uuid	TEXT	UNIQUE,
+			id	INTEGER	PRIMARY KEY	UNIQUE,
 			userid	INTEGER	NOT NULL,
 			handle	TEXT	NOT NULL,
 			name	TEXT	NOT NULL,
 			about	TEXT,
 			colour	INTEGER,
-			FOREIGN KEY (userid) REFERENCES users(id),
+			FOREIGN KEY (userid) REFERENCES users(id) ON UPDATE CASCADE ON DELETE CASCADE,
 			UNIQUE (userid, handle)
 			);
 
 			CREATE TABLE IF NOT EXISTS posts (
-			id	INTEGER	PRIMARY KEY	AUTOINCREMENT	UNIQUE,
-			uuid	TEXT	UNIQUE,
+			id	INTEGER	PRIMARY KEY	UNIQUE,
 			time	INTEGER	NOT NULL,
 			userid	INTEGER	NOT NULL,
-			personaid INTEGER,
+			personaid INTEGER NOT NULL,
 			text	TEXT	NOT NULL,
-			FOREIGN KEY (userid) REFERENCES users(id)
+			FOREIGN KEY (userid) REFERENCES users(id) ON UPDATE CASCADE ON DELETE CASCADE,
+			FOREIGN KEY (personaid) REFERENCES personas(id) ON UPDATE CASCADE ON DELETE CASCADE
 			);
 
 			CREATE TABLE IF NOT EXISTS comments (
-			id	INTEGER	PRIMARY KEY	AUTOINCREMENT	UNIQUE,
-			uuid	TEXT	UNIQUE,
+			id	INTEGER	PRIMARY KEY	UNIQUE,
 			time	INTEGER	NOT NULL,
 			userid	INTEGER	NOT NULL,
 			personaid INTEGER,
 			postid	INTEGER	NOT NULL,
 			text	TEXT	NOT NULL,
 			FOREIGN KEY (postid) REFERENCES posts(id),
-			FOREIGN KEY (userid) REFERENCES users(id),
-			FOREIGN KEY (personaid) REFERENCES personas(id)
+			FOREIGN KEY (userid) REFERENCES users(id) ON UPDATE CASCADE ON DELETE CASCADE,
+			FOREIGN KEY (personaid) REFERENCES personas(id) ON UPDATE CASCADE ON DELETE CASCADE
 			);
 
-			INSERT OR IGNORE INTO users (id, handle, name, about, uuid) VALUES ('0', 'SYSTEM', 'SYSTEM', 'SYSTEM', 'SYSTEM');
+			INSERT OR IGNORE INTO users (id, handle, name, about) VALUES ('0', 'SYSTEM', 'SYSTEM', 'SYSTEM');
 
 		";
 		
@@ -62,19 +62,28 @@ class DataBase extends SQLite3 {
 	}
 	
 	function addUser($handle, $name, $about=NULL) {
-		$uuid = $this->uuidGen();
-		$sql = "INSERT INTO users (handle, name, about, uuid) VALUES ('$handle', '$name', '$about', '$uuid')";
+		$id = hexdec(uniqid());
+		$sql = "INSERT INTO users (id, handle, name, about) VALUES ('$id', '$handle', '$name', '$about')";
 		$ret = $this->exec($sql);
 		if(!$ret) {
 			die($this->lastErrorMsg());
 		}
 	}
 
-	function addPost($userid, $personaid, $contents) {
+	function addPost($text, $userid=NULL, $personaid=NULL) {
+		$id = hexdec(uniqid());
 		$time = time();
+		$sql = $this->prepare("INSERT INTO posts (id, time, userid, personaid, text) values ('$id', '$time', '$userid', :personaid, '$text')");
+		$sql->bindParam(':personaid', $personaid, SQLITE3_INTEGER);
+		$ret = $sql->execute();
+		if(!$ret) {
+			die($this->lastErrorMsg());
+		}
+	}
 
-		$uuid = $this->uuidGen();
-		$sql = "INSERT INTO posts (time, userid, personaid, text, uuid) values ('$time', '$userid', '$personaid', '$contents', '$uuid')";
+	function addPersona($userid, $handle, $name, $about=NULL, $colour=NULL) {
+		$id = hexdec(uniqid());
+		$sql = "INSERT INTO personas (id, userid, handle, name, colour) VALUES ('$id', '$userid', '$handle', '$about', '$colour');";
 		$ret = $this->exec($sql);
 		if(!$ret) {
 			die($this->lastErrorMsg());
@@ -92,7 +101,7 @@ class DataBase extends SQLite3 {
 
 	function passwordVerify($userid, $password) {
 		$sql = "SELECT pass FROM users WHERE id='$userid';";
-		$ret = $this->query($sql)->fetchArray();
+		$ret = $this->query($sql)->fetchArray(SQLITE3_NUM);
 		if(!$ret) {
 			return false;
 		}
@@ -100,8 +109,15 @@ class DataBase extends SQLite3 {
 		return password_verify($password, $dbhash);
 	}
 
-	function uuidGen() {
-		return base64_encode(random_bytes(12));
+	function getPosts($userid=NULL, $personaid = NULL) {
+		$sql = "SELECT * FROM posts AS post LEFT JOIN users AS user ON post.userid=user.id LEFT JOIN personas AS persona ON post.personaid=persona.id;";
+
+		$ret = $this->query($sql);
+		$array = array();
+		while ($row = $ret->fetchArray(SQLITE3_ASSOC)) {
+			array_push($array, $row);
+		}
+		return $array;
 	}
 }
 ?>
diff --git a/index.php b/index.php
index b388092..47afd07 100755
--- a/index.php
+++ b/index.php
@@ -1,20 +1,23 @@
 <!DOCTYPE html>
 <html>
 <head>
-	<meta charset="UTF-8">
+	<meta charset="UTF-8" />
+	<link rel="stylesheet" href="style.css" />
 	<title>Snuffler</title>
 </head>
 <body>
-	<form>
-		<textarea name="text" rows="5" placeholder="Whatcha snuffin' about?"></textarea><br />
-		<select id="user" name="user">
-			<option value=0>SYSTEM</option>
-			<option value=1>User</option>
-		</select>
-		<input type="submit" id="submit" name="submit" value="Snuff!" />
-	<h1>Snuffs</h1>
-</body>
-</html>
+	<div id="centerbox">
+	<h1>Snuffler</h1>
+	<form id="postform">
+		<textarea id="postformtextarea" name="text" rows="5" placeholder="Whatcha snuffin' about?"></textarea><br />
+		<div id="postformactionrow">
+			<select id="user" name="user">
+				<option value=0>SYSTEM</option>
+				<option value=1>User</option>
+			</select>
+			<input type="submit" id="submit" name="submit" value="Snuff!" />
+		</div>
+	</form>
 
 
 <?php
@@ -25,6 +28,24 @@ $database = new DataBase();
 if(!$database) {
 	die($database->lastErrorMsg());
 }
+
+//$database->addPost("Test post", 0);
+
+$posts = $database->getPosts();
+//var_dump($posts);
+foreach($posts as $post) {
+	echo '<div class="post">';
+	echo '<strong>' . $post["user.name"] . '</strong>';
+	echo '<br><small>@' . $post["user.handle"] . '</small>';
+	echo '<p>' . $post["post.text"] . '</p>';
+	echo '<hr><small>' . date("D j.n.Y \k\l\o G:i", $post["post.time"]) . '</small>';
+	echo '<span class="postactions">5👍 0👎 2💬</span>';
+	echo "</div>";
+
+}
 $database->close();
 
-?>
\ No newline at end of file
+?>
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/style.css b/style.css
new file mode 100644
index 0000000..f8bc043
--- /dev/null
+++ b/style.css
@@ -0,0 +1,33 @@
+body {
+	background-color: #000000;
+	color: #ffc000;
+}
+
+hr {
+	border-color: #584200;
+}
+
+#centerbox {
+	margin: auto;
+	max-width: 50em;
+}
+#postformtextarea {
+	box-sizing: border-box;
+	width: 100%;
+}
+#postformactionrow {
+	text-align: right;
+}
+
+.post {
+	border-style: solid;
+	border-width: 1px;
+	padding: .5em;
+	/*
+	margin: auto;
+	max-width: 50em;
+	*/
+}
+.postactions  {
+	float: right;
+}
\ No newline at end of file