complated recommendation interface and compare method