implementing surprise me functionality