my data structure implementations in Go