adjusted for golang