Initial commit of code, doesn't currently work using 'go get'