removed async emit