no need to inherit from Emitter