use the source tuple instead of copied target tuple to avoid invalid memory access