btw, I have to do this anonymous function junk to maintain compatibility with `go1.0.3`