implemented candidate selection customize