fix preview callback mechanism