add recommendation algorithm