tested on Go 1.2.2 for now