Add Go implementation from Mathieu Turcotte