also accepts traditional node style callback to receive the error or final message