take a copy before emiting