added preview callback support