data-dependent approach