* fixed a bug which operator<() may return wrong result