HAL implementation in Go