added denoising imprved