https://peter.bourgon.org/go-best-practices-2016/