thinningImpl