(*) New Version

(*) Converted all Comparer to IComparer