This report is mainly written for CSCI 208 final project. Many of its references link back to the Go programming language specification. Any code snippets or examples, if used without any explicitly citaton, is written by myself. The project is host at Github and the report is generated by Gitbook. I hope you will enjoy reading the report. The report can also be read online.