add @emit to params, so can be called from outsite