https://movio.co/blog/migrate-Scala-to-Go/