add metric learning