Adding Intelligence to Digital Libraries: IDL