wrap callback
Merge branch 'callback'