downsampling added