some useful data structures implemented with Golang