add on and emit functions
syntax