build preference matrix and make recommendations
return top n