reuse emit method