update go-style naming
add feature Callback