add emitShot callback