[feature] abstact attributes matching and use more attributes