split upsampling function