can take separate beam and noise for gradient