added recommendation function