diff --git a/cmd/datok.go b/cmd/datok.go
new file mode 100644
index 0000000..1d3bbbc
--- /dev/null
+++ b/cmd/datok.go
@@ -0,0 +1,44 @@
+package main
+
+import (
+	"os"
+
+	datok "github.com/KorAP/datokenizer"
+	"github.com/alecthomas/kong"
+)
+
+var cli struct {
+	Tokenizer string `kong:"required,short='t',help='The Double Array Tokenizer file'"`
+}
+
+// Main method for command line handling
+func main() {
+
+	// Parse command line parameters
+	parser := kong.Must(
+		&cli,
+		kong.Name("datok"),
+		kong.Description("Double Array based tokenizer"),
+		kong.UsageOnError(),
+	)
+
+	_, err := parser.Parse(os.Args[1:])
+
+	parser.FatalIfErrorf(err)
+
+	// Load the Datok file
+	dat := datok.LoadDatokFile(cli.Tokenizer)
+
+	// Unable to load the datok file
+	if dat == nil {
+		os.Exit(1)
+	}
+
+	// Program is running in a pipe
+	fileInfo, _ := os.Stdin.Stat()
+	if fileInfo.Mode()&os.ModeCharDevice == 0 {
+
+		// Transduce from STDIN and write to STDOUT
+		dat.Transduce(os.Stdin, os.Stdout)
+	}
+}
diff --git a/datokenizer.go b/datokenizer.go
index f2d9304..270b61e 100644
--- a/datokenizer.go
+++ b/datokenizer.go
@@ -14,14 +14,16 @@
 // Serialization is little endian.
 
 // TODO:
+// - Write simple main function.
+// - Turn sigma into an array instead of using a map.
 // - replace maxSize with the check value
 // - Add checksum to serialization.
-// - Mark epsilon transitions in bytes
 // - Introduce methods on BC array entries instead of
 //   jumping into the entries all the time!
 // - Instead of memoizing the loadFactor, better remember
 //   the number of set transitions
 // - Replace table with a map
+// - Mark epsilon transitions in bytes
 
 import (
 	"bufio"
diff --git a/go.mod b/go.mod
index 9d677ca..6104f40 100644
--- a/go.mod
+++ b/go.mod
@@ -3,6 +3,7 @@
 go 1.16
 
 require (
+	github.com/alecthomas/kong v0.2.17
 	github.com/rs/zerolog v1.23.0 // indirect
 	github.com/stretchr/testify v1.7.0
 )
diff --git a/go.sum b/go.sum
index e4d7005..8942bc1 100644
--- a/go.sum
+++ b/go.sum
@@ -1,7 +1,12 @@
+github.com/alecthomas/kong v0.2.17 h1:URDISCI96MIgcIlQyoCAlhOmrSw6pZScBNkctg8r0W0=
+github.com/alecthomas/kong v0.2.17/go.mod h1:ka3VZ8GZNPXv9Ov+j4YNLkI8mTuhXyr/0ktSlqIydQQ=
 github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
 github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
 github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
+github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
 github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
 github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -37,3 +42,5 @@
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
 gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
