new feature: copy/paste observer