Golang design