only defined some recommendation classes