added shot noise calculation