diff --git a/ethchain/asm.go b/ethchain/asm.go
index a6c85cb6020e98a06fe399a3a4864f1e0d8f259b..3194549bacc82f4fe7a8a5a7f3ffe0ec18aada9f 100644
--- a/ethchain/asm.go
+++ b/ethchain/asm.go
@@ -4,55 +4,8 @@ import (
 	"fmt"
 	"github.com/ethereum/eth-go/ethutil"
 	"math/big"
-	"regexp"
 )
 
-func CompileInstr(s interface{}) ([]byte, error) {
-	switch s.(type) {
-	case string:
-		str := s.(string)
-		isOp := IsOpCode(str)
-		if isOp {
-			return []byte{OpCodes[str]}, nil
-		}
-
-		num := new(big.Int)
-		_, success := num.SetString(str, 0)
-		// Assume regular bytes during compilation
-		if !success {
-			num.SetBytes([]byte(str))
-		} else {
-			// tmp fix for 32 bytes
-			n := ethutil.BigToBytes(num, 256)
-			return n, nil
-		}
-
-		return num.Bytes(), nil
-	case int:
-		num := ethutil.BigToBytes(big.NewInt(int64(s.(int))), 256)
-		return num, nil
-	case []byte:
-		return ethutil.BigD(s.([]byte)).Bytes(), nil
-	}
-
-	return nil, nil
-}
-
-// Script compilation functions
-// Compiles strings to machine code
-func Assemble(instructions ...interface{}) (script []byte) {
-	//script = make([]string, len(instructions))
-
-	for _, val := range instructions {
-		instr, _ := CompileInstr(val)
-
-		//script[i] = string(instr)
-		script = append(script, instr...)
-	}
-
-	return
-}
-
 func Disassemble(script []byte) (asm []string) {
 	pc := new(big.Int)
 	for {
@@ -104,24 +57,3 @@ func Disassemble(script []byte) (asm []string) {
 
 	return
 }
-
-func PreProcess(data string) (mainInput, initInput string) {
-	// Regexp for parsing anything between brackets
-	reg := "\\(\\)\\s*{([\\d\\w\\W\\n\\s]+?)}"
-	mainReg := regexp.MustCompile("main" + reg)
-	initReg := regexp.MustCompile("init" + reg)
-
-	main := mainReg.FindStringSubmatch(data)
-	if len(main) > 0 {
-		mainInput = main[1]
-	} else {
-		mainInput = data
-	}
-
-	init := initReg.FindStringSubmatch(data)
-	if len(init) > 0 {
-		initInput = init[1]
-	}
-
-	return
-}