diff --git a/ethereal/assets/debugger/debugger.qml b/ethereal/assets/debugger/debugger.qml
index 40b0b68b1d2ccefa3e2ddd970ced5132117a268e..bff653fb804a7c6c6a41c311040465d17cea9eda 100644
--- a/ethereal/assets/debugger/debugger.qml
+++ b/ethereal/assets/debugger/debugger.qml
@@ -7,12 +7,12 @@ import QtQuick.Controls.Styles 1.1
 import Ethereum 1.0
 
 ApplicationWindow {
-    visible: false
-    title: "IceCream"
-    minimumWidth: 1280
-    minimumHeight: 900
-    width: 1290
-    height: 900
+	visible: false
+	title: "IceCream"
+	minimumWidth: 1280
+	minimumHeight: 900
+	width: 1290
+	height: 900
 
 	property alias codeText: codeEditor.text
 	property alias dataText: rawDataField.text
@@ -32,209 +32,229 @@ ApplicationWindow {
 				onTriggered: dbg.next()
 			}
 		}
-    }
-
-    SplitView {
-        anchors.fill: parent
-        property var asmModel: ListModel {
-            id: asmModel
-        }
-        TableView {
-            id: asmTableView
-            width: 200
-            TableViewColumn{ role: "value" ; title: "" ; width: 100 }
-            model: asmModel
-        }
-
-        Rectangle {
-            color: "#00000000"
-            anchors.left: asmTableView.right
-            anchors.right: parent.right
-            SplitView {
-                orientation: Qt.Vertical
-                anchors.fill: parent
-
-                Rectangle {
-                    color: "#00000000"
-                    height: 500
-                    anchors.left: parent.left
-                    anchors.right: parent.right
-
-                    TextArea {
-                        id: codeEditor
-                        anchors.top: parent.top
-                        anchors.bottom: parent.bottom
-                        anchors.left: parent.left
-                        anchors.right: settings.left
-                    }
-
-                    Column {
-                        id: settings
-                        spacing: 5
-                        width: 300
-                        height: parent.height
-                        anchors.right: parent.right
-                        anchors.top: parent.top
-                        anchors.bottom: parent.bottom
-
-                        Label {
-                            text: "Arbitrary data"
-                        }
-                        TextArea {
-                            id: rawDataField
-                            anchors.left: parent.left
-                            anchors.right: parent.right
-                            height: 150
-                        }
-
-                        Label {
-                            text: "Amount"
-                        }
-                        TextField {
-                            id: txValue
-                            width: 200
-                            placeholderText: "Amount"
-                            validator: RegExpValidator { regExp: /\d*/ }
-                        }
-                        Label {
-                            text: "Amount of gas"
-                        }
-                        TextField {
-                            id: txGas
-                            width: 200
-                            validator: RegExpValidator { regExp: /\d*/ }
-                            text: "10000"
-                            placeholderText: "Gas"
-                        }
-                        Label {
-                            text: "Gas price"
-                        }
-                        TextField {
-                            id: txGasPrice
-                            width: 200
-                            placeholderText: "Gas price"
-                            text: "1000000000000"
-                            validator: RegExpValidator { regExp: /\d*/ }
-                        }
-                    }
-                }
-
-                SplitView {
-                    orientation: Qt.Vertical
-                    id: inspectorPane
-                    height: 500
-
-                    SplitView {
-                        orientation: Qt.Horizontal
-                        height: 250
-
-                        TableView {
-                            id: stackTableView
-                            property var stackModel: ListModel {
-                                id: stackModel
-                            }
-                            height: parent.height
-                            width: 300
-                            TableViewColumn{ role: "value" ; title: "Stack" ; width: 200 }
-                            model: stackModel
-                        }
-
-                        TableView {
-                            id: memoryTableView
-                            property var memModel: ListModel {
-                                id: memModel
-                            }
-                            height: parent.height
-                            width: parent.width - stackTableView.width
-                            TableViewColumn{ id:mnumColmn ; role: "num" ; title: "#" ; width: 50}
-                            TableViewColumn{ role: "value" ; title: "Memory" ; width: 750}
-                            model: memModel
-                        }
-                    }
-
-                    SplitView {
-                        height: 300
-                        TableView {
-                            id: storageTableView
-                            property var memModel: ListModel {
-                                id: storageModel
-                            }
-                            height: parent.height
-                            width: parent.width - stackTableView.width
-                            TableViewColumn{ id: key ; role: "key" ; title: "#" ; width: storageTableView.width / 2}
-                            TableViewColumn{ role: "value" ; title: "value" ; width:  storageTableView.width / 2}
-                            model: storageModel
-                        }
-                    }
-                }
-            }
-        }
-    }
-
-    toolBar: ToolBar {
-        RowLayout {
-            spacing: 5
-
-            Button {
-                property var enabled: true
-                id: debugStart
-                onClicked: {
-                    debugCurrent()
-                }
-                text: "Debug"
-            }
-
-            Button {
-                property var enabled: true
-                id: debugNextButton
-                onClicked: {
-                    dbg.next()
-                }
-                text: "Next"
-            }
-        }
-    }
-
-    function debugCurrent() {
-        dbg.debug(txValue.text, txGas.text, txGasPrice.text, codeEditor.text, rawDataField.text)
-    }
-
-    function setAsm(asm) {
-        asmModel.append({asm: asm})
-    }
-
-    function clearAsm() {
-        asmModel.clear()
-    }
-
-    function setInstruction(num) {
-        asmTableView.selection.clear()
-        asmTableView.selection.select(num)
-    }
-
-    function setMem(mem) {
-        memModel.append({num: mem.num, value: mem.value})
-    }
-    function clearMem(){
-        memModel.clear()
-    }
-
-    function setStack(stack) {
-        stackModel.append({value: stack})
-    }
-    function addDebugMessage(message){
-        debuggerLog.append({value: message})
-    }
-
-    function clearStack() {
-        stackModel.clear()
-    }
-
-    function clearStorage() {
-        storageModel.clear()
-    }
-
-    function setStorage(storage) {
-        storageModel.append({key: storage.key, value: storage.value})
-    }
+	}
+
+	SplitView {
+		anchors.fill: parent
+		property var asmModel: ListModel {
+			id: asmModel
+		}
+		TableView {
+			id: asmTableView
+			width: 200
+			TableViewColumn{ role: "value" ; title: "" ; width: 100 }
+			model: asmModel
+		}
+
+		Rectangle {
+			color: "#00000000"
+			anchors.left: asmTableView.right
+			anchors.right: parent.right
+			SplitView {
+				orientation: Qt.Vertical
+				anchors.fill: parent
+
+				Rectangle {
+					color: "#00000000"
+					height: 500
+					anchors.left: parent.left
+					anchors.right: parent.right
+
+					TextArea {
+						id: codeEditor
+						anchors.top: parent.top
+						anchors.bottom: parent.bottom
+						anchors.left: parent.left
+						anchors.right: settings.left
+					}
+
+					Column {
+						id: settings
+						spacing: 5
+						width: 300
+						height: parent.height
+						anchors.right: parent.right
+						anchors.top: parent.top
+						anchors.bottom: parent.bottom
+
+						Label {
+							text: "Arbitrary data"
+						}
+						TextArea {
+							id: rawDataField
+							anchors.left: parent.left
+							anchors.right: parent.right
+							height: 150
+						}
+
+						Label {
+							text: "Amount"
+						}
+						TextField {
+							id: txValue
+							width: 200
+							placeholderText: "Amount"
+							validator: RegExpValidator { regExp: /\d*/ }
+						}
+						Label {
+							text: "Amount of gas"
+						}
+						TextField {
+							id: txGas
+							width: 200
+							validator: RegExpValidator { regExp: /\d*/ }
+							text: "10000"
+							placeholderText: "Gas"
+						}
+						Label {
+							text: "Gas price"
+						}
+						TextField {
+							id: txGasPrice
+							width: 200
+							placeholderText: "Gas price"
+							text: "1000000000000"
+							validator: RegExpValidator { regExp: /\d*/ }
+						}
+					}
+				}
+
+				SplitView {
+					orientation: Qt.Vertical
+					id: inspectorPane
+					height: 500
+
+					SplitView {
+						orientation: Qt.Horizontal
+						height: 150
+
+						TableView {
+							id: stackTableView
+							property var stackModel: ListModel {
+								id: stackModel
+							}
+							height: parent.height
+							width: 300
+							TableViewColumn{ role: "value" ; title: "Stack" ; width: 200 }
+							model: stackModel
+						}
+
+						TableView {
+							id: memoryTableView
+							property var memModel: ListModel {
+								id: memModel
+							}
+							height: parent.height
+							width: parent.width - stackTableView.width
+							TableViewColumn{ id:mnumColmn ; role: "num" ; title: "#" ; width: 50}
+							TableViewColumn{ role: "value" ; title: "Memory" ; width: 750}
+							model: memModel
+						}
+					}
+
+					Rectangle {
+						height: 100
+						width: parent.width
+						TableView {
+							id: storageTableView
+							property var memModel: ListModel {
+								id: storageModel
+							}
+							height: parent.height
+							width: parent.width
+							TableViewColumn{ id: key ; role: "key" ; title: "#" ; width: storageTableView.width / 2}
+							TableViewColumn{ role: "value" ; title: "value" ; width:  storageTableView.width / 2}
+							model: storageModel
+						}
+					}
+
+					Rectangle {
+						height: 200
+						width: parent.width
+						TableView {
+							id: logTableView
+							property var logModel: ListModel {
+								id: logModel
+							}
+							height: parent.height
+							width: parent.width
+							TableViewColumn{ id: message ; role: "message" ; title: "log" ; width: logTableView.width }
+							model: logModel
+						}
+					}
+				}
+			}
+		}
+	}
+
+	toolBar: ToolBar {
+		RowLayout {
+			spacing: 5
+
+			Button {
+				property var enabled: true
+				id: debugStart
+				onClicked: {
+					debugCurrent()
+				}
+				text: "Debug"
+			}
+
+			Button {
+				property var enabled: true
+				id: debugNextButton
+				onClicked: {
+					dbg.next()
+				}
+				text: "Next"
+			}
+		}
+	}
+
+	function debugCurrent() {
+		dbg.debug(txValue.text, txGas.text, txGasPrice.text, codeEditor.text, rawDataField.text)
+	}
+
+	function setAsm(asm) {
+		asmModel.append({asm: asm})
+	}
+
+	function clearAsm() {
+		asmModel.clear()
+	}
+
+	function setInstruction(num) {
+		asmTableView.selection.clear()
+		asmTableView.selection.select(num)
+	}
+
+	function setMem(mem) {
+		memModel.append({num: mem.num, value: mem.value})
+	}
+	function clearMem(){
+		memModel.clear()
+	}
+
+	function setStack(stack) {
+		stackModel.append({value: stack})
+	}
+	function addDebugMessage(message){
+		debuggerLog.append({value: message})
+	}
+
+	function clearStack() {
+		stackModel.clear()
+	}
+
+	function clearStorage() {
+		storageModel.clear()
+	}
+
+	function setStorage(storage) {
+		storageModel.append({key: storage.key, value: storage.value})
+	}
+
+	function setLog(msg) {
+		logModel.append({message: msg})
+	}
 }
diff --git a/ethereal/assets/qml/wallet.qml b/ethereal/assets/qml/wallet.qml
index 0e0e3d78dda96ac4bebbb66b34fbc1b55370dd23..847f219a92ec7e2ac737670ea906e4276ed9eb90 100644
--- a/ethereal/assets/qml/wallet.qml
+++ b/ethereal/assets/qml/wallet.qml
@@ -1008,5 +1008,4 @@ ApplicationWindow {
       }
     }
   }
-
 }
diff --git a/ethereal/assets/samplecoin/samplecoin.html b/ethereal/assets/samplecoin/samplecoin.html
index e780aefb43262aeea9443fd44bc31e077f88a1f9..dc8d0b7e969db71cce6b27f0ac3dc54af627056b 100644
--- a/ethereal/assets/samplecoin/samplecoin.html
+++ b/ethereal/assets/samplecoin/samplecoin.html
@@ -9,7 +9,7 @@
 
 <script type="text/javascript">
 
-var jefcoinAddr = "518546ffa883dcc838a64bc2dabada0fd64af459"
+var jefcoinAddr = "de0bd4ea1947deabf1749d7ed633f289358c9f6c"
 var mAddr = ""
 
 function createTransaction() {
diff --git a/ethereal/ui/debugger.go b/ethereal/ui/debugger.go
index 342e3a7d08e13248660b1fa4ab37072e2ac35526..9bca7e4fe539a9bca0b20b601aafefb8d767eb65 100644
--- a/ethereal/ui/debugger.go
+++ b/ethereal/ui/debugger.go
@@ -5,27 +5,9 @@ import (
 	"github.com/ethereum/eth-go/ethchain"
 	"github.com/ethereum/eth-go/ethutil"
 	"github.com/go-qml/qml"
-	"math/big"
 	"strings"
 )
 
-func formatData(data string) []byte {
-	if len(data) == 0 {
-		return nil
-	}
-	// Simple stupid
-	d := new(big.Int)
-	if data[0:1] == "\"" && data[len(data)-1:] == "\"" {
-		d.SetBytes([]byte(data[1 : len(data)-1]))
-	} else if data[:2] == "0x" {
-		d.SetBytes(ethutil.FromHex(data[2:]))
-	} else {
-		d.SetString(data, 0)
-	}
-
-	return ethutil.BigToBytes(d, 256)
-}
-
 type DebuggerWindow struct {
 	win    *qml.Window
 	engine *qml.Engine
@@ -77,17 +59,10 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
 		self.Db.Q <- true
 	}
 
-	defer func() {
-		if r := recover(); r != nil {
-			fmt.Println(r)
-			self.Db.done = true
-		}
-	}()
-
 	data := ethutil.StringToByteFunc(dataStr, func(s string) (ret []byte) {
 		slice := strings.Split(dataStr, "\n")
 		for _, dataItem := range slice {
-			d := formatData(dataItem)
+			d := ethutil.FormatData(dataItem)
 			ret = append(ret, d...)
 		}
 		return
@@ -100,7 +75,7 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
 	})
 
 	if err != nil {
-		ethutil.Config.Log.Debugln(err)
+		self.Logln(err)
 
 		return
 	}
@@ -130,11 +105,17 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
 		Coinbase:    block.Coinbase,
 		Time:        block.Time,
 		Diff:        block.Difficulty,
+		Value:       ethutil.Big(valueStr),
 	})
 
 	self.Db.done = false
 	go func() {
-		callerClosure.Call(vm, data, self.Db.halting)
+		ret, _, err := callerClosure.Call(vm, data, self.Db.halting)
+		if err != nil {
+			self.Logln("exited with errors:", err)
+		} else {
+			self.Logf("exited: %v", ret)
+		}
 
 		state.Reset()
 
@@ -142,6 +123,15 @@ func (self *DebuggerWindow) Debug(valueStr, gasStr, gasPriceStr, scriptStr, data
 	}()
 }
 
+func (self *DebuggerWindow) Logf(format string, v ...interface{}) {
+	self.win.Root().Call("setLog", fmt.Sprintf(format, v...))
+}
+
+func (self *DebuggerWindow) Logln(v ...interface{}) {
+	str := fmt.Sprintln(v...)
+	self.Logf("%s", str[:len(str)-1])
+}
+
 func (self *DebuggerWindow) Next() {
 	self.Db.Next()
 }
diff --git a/ethereal/ui/gui.go b/ethereal/ui/gui.go
index 32ff76b1aaad77b3fa1cab0b7f56b9b1fcbc00ad..1698f5de0b6c8cc33ba89ee053f5377bf362ab89 100644
--- a/ethereal/ui/gui.go
+++ b/ethereal/ui/gui.go
@@ -269,5 +269,5 @@ func (gui *Gui) Transact(recipient, value, gas, gasPrice, data string) (*ethpub.
 func (gui *Gui) Create(recipient, value, gas, gasPrice, data string) (*ethpub.PReceipt, error) {
 	keyPair := ethutil.GetKeyRing().Get(0)
 
-	return gui.pub.Create(ethutil.Hex(keyPair.PrivateKey), value, gas, gasPrice, data)
+	return gui.pub.Transact(ethutil.Hex(keyPair.PrivateKey), recipient, value, gas, gasPrice, data)
 }
diff --git a/ethereal/ui/ui_lib.go b/ethereal/ui/ui_lib.go
index 9c4301ffe4530d1be2c0abb10c7a144d7ec06b72..9f2cca1e018267e8613e367d90565e38f91cbb53 100644
--- a/ethereal/ui/ui_lib.go
+++ b/ethereal/ui/ui_lib.go
@@ -95,7 +95,7 @@ func (self *UiLib) StartDbWithContractAndData(contractHash, data string) {
 	if len(object.Script()) > 0 {
 		dbWindow.SetCode("0x" + ethutil.Hex(object.Script()))
 	}
-	dbWindow.SetData(data)
+	dbWindow.SetData("0x" + data)
 
 	dbWindow.Show()
 }