input: trigger -> emit