preview handling rework