thinning impl