callbacks improved(visual)