diff --git a/transactions.qml b/transactions.qml
new file mode 100644
index 0000000000000000000000000000000000000000..e9a035a8542b95baae73ef695311fce85684ea0f
--- /dev/null
+++ b/transactions.qml
@@ -0,0 +1,9 @@
+import QtQuick 2.0
+import QtQuick.Controls 1.0;
+import QtQuick.Layouts 1.0;
+
+Rectangle {
+	id: transactionView
+	visible: false
+	Text { text: "TX VIEW" }
+}
diff --git a/ui/gui.go b/ui/gui.go
index 51fd6d9a84042f4dba2b04210bd5dc5dd296539b..f0e281de1cbe5b7188e94fdc2204791865967699 100644
--- a/ui/gui.go
+++ b/ui/gui.go
@@ -18,6 +18,17 @@ type Block struct {
 	Hash   string
 }
 
+type Tx struct {
+	Value, Hash, Address string
+}
+
+func NewTxFromTransaction(tx *ethchain.Transaction) *Tx {
+	hash := hex.EncodeToString(tx.Hash())
+	sender := hex.EncodeToString(tx.Recipient)
+
+	return &Tx{Hash: hash[:4], Value: tx.Value.String(), Address: sender}
+}
+
 // Creates a new QML Block from a chain block
 func NewBlockFromBlock(block *ethchain.Block) *Block {
 	info := block.BlockInfo()
@@ -56,6 +67,8 @@ func (ui *Gui) Start() {
 	// Register ethereum functions
 	qml.RegisterTypes("Ethereum", 1, 0, []qml.TypeSpec{{
 		Init: func(p *Block, obj qml.Object) { p.Number = 0; p.Hash = "" },
+	}, {
+		Init: func(p *Tx, obj qml.Object) { p.Value = ""; p.Hash = ""; p.Address = "" },
 	}})
 
 	ethutil.Config.Log.Infoln("[GUI] Starting GUI")
@@ -66,6 +79,7 @@ func (ui *Gui) Start() {
 	if err != nil {
 		panic(err)
 	}
+	ui.engine.LoadFile("transactions.qml")
 
 	ui.win = component.CreateWindow(nil)
 
@@ -77,6 +91,7 @@ func (ui *Gui) Start() {
 
 	// Register the ui as a block processor
 	ui.eth.BlockManager.SecondaryBlockProcessor = ui
+	ui.eth.TxPool.SecondaryProcessor = ui
 
 	// Add the ui as a log system so we can log directly to the UGI
 	ethutil.Config.Log.AddLogSystem(ui)
@@ -102,6 +117,10 @@ func (ui *Gui) ProcessBlock(block *ethchain.Block) {
 	ui.win.Root().Call("addBlock", NewBlockFromBlock(block))
 }
 
+func (ui *Gui) ProcessTransaction(tx *ethchain.Transaction) {
+	ui.win.Root().Call("addTx", NewTxFromTransaction(tx))
+}
+
 // Logging functions that log directly to the GUI interface
 func (ui *Gui) Println(v ...interface{}) {
 	str := strings.TrimRight(fmt.Sprintln(v...), "\n")
diff --git a/wallet.qml b/wallet.qml
index b186148012b046c2687980750e955309fd3e4a1d..6ee6ff1103c674bb1c501a85fd222c0ba4f99762 100644
--- a/wallet.qml
+++ b/wallet.qml
@@ -3,18 +3,18 @@ import QtQuick.Controls 1.0;
 import QtQuick.Layouts 1.0;
 import QtQuick.Dialogs 1.0;
 import QtQuick.Window 2.1;
+import QtQuick.Controls.Styles 1.1
 import Ethereum 1.0
 
 ApplicationWindow {
 	id: root
 
-	width: 800
+	width: 900
 	height: 600
 	minimumHeight: 300
 
 	title: "Ethereal"
 
-
 	toolBar: ToolBar {
 		id: mainToolbar
 
@@ -43,22 +43,6 @@ ApplicationWindow {
 		}
 	}
 
-	SplitView {
-		id: splitView
-		height: 200
-		anchors.top: parent.top
-		anchors.right: parent.right
-		anchors.left: parent.left
-
-		TextArea {
-			id: codeView
-			width: parent.width /2 
-		}
-
-		TextArea {
-			readOnly: true
-		}
-	}
 
 	MenuBar {
 		Menu {
@@ -85,42 +69,133 @@ ApplicationWindow {
 				onTriggered: ui.connect()
 			}
 		}
+
+		Menu {
+			title: "Help"
+			MenuItem {
+				text: "About"
+				onTriggered: {
+					aboutWin.visible = true
+				}
+			}
+		}
+
 	}
 
 
 	property var blockModel: ListModel {
 		id: blockModel
 	}
+		function setView(view) {
+			mainView.visible = false
+			transactionView.visible = false
+			view.visible = true
+		}
 
-	TableView {
-		id: blockTable
-		width: parent.width
-		anchors.top: splitView.bottom
-		anchors.bottom: logView.top
-		TableViewColumn{ role: "number" ; title: "#" ; width: 100 }
-		TableViewColumn{ role: "hash" ; title: "Hash" ; width: 560 }
+	SplitView {
+		anchors.fill: parent
+
+
+		Rectangle {
+			id: menu
+			width: 200
+			anchors.bottom: parent.bottom
+			anchors.top: parent.top
+			color: "#D9DDE7"
+
+			GridLayout {
+				columns: 1
+				Button {
+					text: "Main"
+					onClicked: {
+						setView(mainView)
+					}
+				}
+				Button {
+					text: "Transactions"
+					onClicked: {
+						setView(transactionView)
+					}
+				}
+			}
+						
+		}
 
-		model: blockModel
+		property var txModel: ListModel {
+			id: txModel
+		}
 
-		onDoubleClicked: {
-			popup.visible = true
-			popup.block = eth.getBlock(blockModel.get(row).hash)
-			popup.hashLabel.text = popup.block.hash
+		Rectangle {
+			id: transactionView
+			visible: false
+			anchors.right: parent.right
+			anchors.left: menu.right
+			anchors.bottom: parent.bottom
+			anchors.top: parent.top
+			TableView {
+				id: txTableView
+				anchors.fill: parent
+				TableViewColumn{ role: "hash" ; title: "#" ; width: 150 }
+				TableViewColumn{ role: "value" ; title: "Value" ; width: 100 }
+				TableViewColumn{ role: "address" ; title: "Address" ; }
+
+				model: txModel
+			}
 		}
-	}
 
-	property var logModel: ListModel {
-		id: logModel
-	}
+		Rectangle {
+			id: mainView
+			anchors.right: parent.right
+			anchors.bottom: parent.bottom
+			anchors.top: parent.top
+			SplitView {
+				id: splitView
+				height: 200
+				anchors.top: parent.top
+				anchors.right: parent.right
+				anchors.left: parent.left
+
+				TextArea {
+					id: codeView
+					width: parent.width /2 
+				}
+
+				TextArea {
+					readOnly: true
+				}
+			}
+
+			TableView {
+				id: blockTable
+				width: parent.width
+				anchors.top: splitView.bottom
+				anchors.bottom: logView.top
+				TableViewColumn{ role: "number" ; title: "#" ; width: 100 }
+				TableViewColumn{ role: "hash" ; title: "Hash" ; width: 560 }
+
+				model: blockModel
 
-	TableView {
-		id: logView
-		width: parent.width
-		height: 150
-		anchors.bottom: parent.bottom
-		TableViewColumn{ role: "description" ; title: "log" }
+				onDoubleClicked: {
+					popup.visible = true
+					popup.block = eth.getBlock(blockModel.get(row).hash)
+					popup.hashLabel.text = popup.block.hash
+				}
+			}
 
-		model: logModel
+			property var logModel: ListModel {
+				id: logModel
+			}
+
+			TableView {
+				id: logView
+				width: parent.width
+				height: 150
+				anchors.bottom: parent.bottom
+				TableViewColumn{ role: "description" ; title: "log" }
+
+				model: logModel
+			}
+		}
 	}
 
 	FileDialog {
@@ -146,7 +221,6 @@ ApplicationWindow {
 				text: "Import App"
 			}
 
-			Label { text: "0.0.1" }
 			Label {
 				anchors.right: peerImage.left
 				anchors.rightMargin: 5
@@ -201,6 +275,25 @@ ApplicationWindow {
 		}
 	}
 
+	Window {
+		id: aboutWin
+		visible: false
+		title: "About"
+		minimumWidth: 300
+		maximumWidth: 300
+		maximumHeight: 200
+		minimumHeight: 200
+
+		Text {
+			font.pointSize: 18
+			text: "Eth Go"
+		}
+
+	}
+
+	function addTx(tx) {
+		txModel.insert(0, {hash: tx.hash, address: tx.address, value: tx.value})
+	}
 
 	function addBlock(block) {
 		blockModel.insert(0, {number: block.number, hash: block.hash})