add: avoid repeat features, performanceoptimization