taking a guess at how go handles structs