keep example as callback.cc