add callback return value
fix merge conflict