Begins Rewrite in Go