defer cost 100 ns/op
fix problems due to func signature changed
run many times
don't use defer, its slow
bin upgrade