separated params and sub-sampling functions