Based on Satish Talim's LeanPub book "Building a Package in Go"