add event emitter