add new method for emit with dictionary