implemented similar structure to successful line denoiser