frontend - preview and basic functionality