added mean_shift method