change callback to use the first argument as result