emit function