diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index 53012d97d780a5458b1ae3d61989c26823110288..e8d7172b59cd38a3944daf12d20a8e4eee05210a 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -1,3 +1,46 @@
+2000-03-16  Warren Levy  <warrenl@cygnus.com>
+
+	* java/awt/Color.java: New file.
+	* java/awt/Graphics.java: New file.
+	* java/awt/Image.java: New file.
+	* java/awt/Paint.java: New file.
+	* java/awt/PaintContext.java: New file.
+	* java/awt/Transparency.java: New file.
+	* java/util/Collection.java: New file.
+	* java/util/Comparator.java: New file.
+	* java/util/Iterator.java: New file.
+	* java/util/List.java: New file.
+	* java/util/ListIterator.java: New file.
+	* Makefile.am: Added above new files.
+	* Makefile.in: Rebuilt.
+
+	* java/awt/Font.java (PLAIN): New field.
+	(BOLD): New field.
+	(ITALIC): New field.
+	(ROMAN_BASELINE): New field.
+	(CENTER_BASELINE): New field.
+	(HANGING_BASELINE): New field.
+	(name): New field.
+	(style): New field.
+	(size): New field.
+	(pointSize): New field.
+	(Font): Implemented constructor.
+	(isPlain): Implemented method.
+	(isBold): Implemented method.
+	(isItalic): Implemented method.
+	(getName): Implemented method.
+	(getStyle): Implemented method.
+	(getSize): Implemented method.
+	(getSize2D): Implemented method.
+	(decode): Stubbed.
+	* java/awt/Frame.java (getFont): Stubbed.
+	(postEvent): Stubbed.
+	(remove): Stubbed.
+	* java/awt/Menu.java (postEvent): Stubbed.
+	* java/awt/MenuBar.java (getFont): Stubbed.
+	(postEvent): Stubbed.
+	* java/awt/Toolkit.java (getImage): Added abstract method.
+
 2000-03-15  Tom Tromey  <tromey@cygnus.com>
 
 	* java/io/natFileDescriptorWin32.cc (winerr): Now static.
diff --git a/libjava/Makefile.am b/libjava/Makefile.am
index 1926f7d367dc812438ac3671aab9551dc0e65175..4d0a16aa79d3051685fc737d8eb4f5f749792aa2 100644
--- a/libjava/Makefile.am
+++ b/libjava/Makefile.am
@@ -469,11 +469,14 @@ awt_java_source_files = \
 java/awt/AWTEvent.java \
 java/awt/BorderLayout.java \
 java/awt/Component.java \
+java/awt/Color.java \
 java/awt/Container.java \
 java/awt/Dimension.java \
 java/awt/Event.java \
 java/awt/Font.java \
 java/awt/Frame.java \
+java/awt/Graphics.java \
+java/awt/Image.java \
 java/awt/LayoutManager.java \
 java/awt/LayoutManager2.java \
 java/awt/Menu.java \
@@ -481,12 +484,15 @@ java/awt/MenuBar.java \
 java/awt/MenuItem.java \
 java/awt/MenuComponent.java \
 java/awt/MenuContainer.java \
+java/awt/Paint.java \
+java/awt/PaintContext.java \
 java/awt/Point.java \
 java/awt/Rectangle.java \
 java/awt/Shape.java \
 java/awt/TextArea.java \
 java/awt/TextComponent.java \
 java/awt/Toolkit.java \
+java/awt/Transparency.java \
 java/awt/Window.java \
 java/awt/event/ActionEvent.java \
 java/awt/event/ActionListener.java \
@@ -759,6 +765,8 @@ java/text/SimpleDateFormat.java	\
 java/text/StringCharacterIterator.java \
 java/util/BitSet.java \
 java/util/Calendar.java	\
+java/util/Collection.java \
+java/util/Comparator.java \
 java/util/ConcurrentModificationException.java \
 java/util/Date.java \
 java/util/Dictionary.java \
@@ -768,6 +776,9 @@ java/util/EventListener.java \
 java/util/EventObject.java \
 java/util/GregorianCalendar.java \
 java/util/Hashtable.java \
+java/util/Iterator.java \
+java/util/List.java \
+java/util/ListIterator.java \
 java/util/ListResourceBundle.java \
 java/util/Locale.java \
 java/util/MissingResourceException.java	\
diff --git a/libjava/Makefile.in b/libjava/Makefile.in
index 682317dd9fce6dc471f62409ec34333e3479e540..a8bba0f9c1cc18d926e2c3123f8f47c6a837d4a2 100644
--- a/libjava/Makefile.in
+++ b/libjava/Makefile.in
@@ -286,11 +286,14 @@ awt_java_source_files = \
 java/awt/AWTEvent.java \
 java/awt/BorderLayout.java \
 java/awt/Component.java \
+java/awt/Color.java \
 java/awt/Container.java \
 java/awt/Dimension.java \
 java/awt/Event.java \
 java/awt/Font.java \
 java/awt/Frame.java \
+java/awt/Graphics.java \
+java/awt/Image.java \
 java/awt/LayoutManager.java \
 java/awt/LayoutManager2.java \
 java/awt/Menu.java \
@@ -298,12 +301,15 @@ java/awt/MenuBar.java \
 java/awt/MenuItem.java \
 java/awt/MenuComponent.java \
 java/awt/MenuContainer.java \
+java/awt/Paint.java \
+java/awt/PaintContext.java \
 java/awt/Point.java \
 java/awt/Rectangle.java \
 java/awt/Shape.java \
 java/awt/TextArea.java \
 java/awt/TextComponent.java \
 java/awt/Toolkit.java \
+java/awt/Transparency.java \
 java/awt/Window.java \
 java/awt/event/ActionEvent.java \
 java/awt/event/ActionListener.java \
@@ -571,6 +577,8 @@ java/text/SimpleDateFormat.java	\
 java/text/StringCharacterIterator.java \
 java/util/BitSet.java \
 java/util/Calendar.java	\
+java/util/Collection.java \
+java/util/Comparator.java \
 java/util/ConcurrentModificationException.java \
 java/util/Date.java \
 java/util/Dictionary.java \
@@ -580,6 +588,9 @@ java/util/EventListener.java \
 java/util/EventObject.java \
 java/util/GregorianCalendar.java \
 java/util/Hashtable.java \
+java/util/Iterator.java \
+java/util/List.java \
+java/util/ListIterator.java \
 java/util/ListResourceBundle.java \
 java/util/Locale.java \
 java/util/MissingResourceException.java	\
@@ -974,14 +985,16 @@ DEP_FILES =  .deps/$(srcdir)/$(CONVERT_DIR)/gen-from-JIS.P \
 .deps/java/text/ParseException.P .deps/java/text/ParsePosition.P \
 .deps/java/text/RuleBasedCollator.P .deps/java/text/SimpleDateFormat.P \
 .deps/java/text/StringCharacterIterator.P .deps/java/util/BitSet.P \
-.deps/java/util/Calendar.P \
+.deps/java/util/Calendar.P .deps/java/util/Collection.P \
+.deps/java/util/Comparator.P \
 .deps/java/util/ConcurrentModificationException.P \
 .deps/java/util/Date.P .deps/java/util/Dictionary.P \
 .deps/java/util/EmptyStackException.P .deps/java/util/Enumeration.P \
 .deps/java/util/EventListener.P .deps/java/util/EventObject.P \
 .deps/java/util/GregorianCalendar.P .deps/java/util/Hashtable.P \
-.deps/java/util/ListResourceBundle.P .deps/java/util/Locale.P \
-.deps/java/util/MissingResourceException.P \
+.deps/java/util/Iterator.P .deps/java/util/List.P \
+.deps/java/util/ListIterator.P .deps/java/util/ListResourceBundle.P \
+.deps/java/util/Locale.P .deps/java/util/MissingResourceException.P \
 .deps/java/util/NoSuchElementException.P .deps/java/util/Observable.P \
 .deps/java/util/Observer.P .deps/java/util/Properties.P \
 .deps/java/util/PropertyResourceBundle.P .deps/java/util/Random.P \
diff --git a/libjava/java/awt/Color.java b/libjava/java/awt/Color.java
new file mode 100644
index 0000000000000000000000000000000000000000..0f0742c986836f43b408966b7c449484ee9de0af
--- /dev/null
+++ b/libjava/java/awt/Color.java
@@ -0,0 +1,64 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.awt;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 15, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Stubbed; A very incomplete implementation.
+ */
+
+public class Color extends Object implements Paint, Serializable
+{
+  public static final Color white =	new Color(0xff, 0xff, 0xff);
+  public static final Color lightGray =	new Color(0xc0, 0xc0, 0xc0);
+  public static final Color gray =	new Color(0x80, 0x80, 0x80);
+  public static final Color darkGray =	new Color(0x40, 0x40, 0x40);
+  public static final Color black =	new Color(0x00, 0x00, 0x00);
+  public static final Color red =	new Color(0xff, 0x00, 0x00);
+  public static final Color pink =	new Color(0xff, 0xaf, 0xaf);
+  public static final Color orange =	new Color(0xff, 0xc8, 0x00);
+  public static final Color yellow =	new Color(0xff, 0xff, 0x00);
+  public static final Color green =	new Color(0x00, 0xff, 0x00);
+  public static final Color magenta =	new Color(0xff, 0x00, 0xff);
+  public static final Color cyan =	new Color(0x00, 0xff, 0xff);
+  public static final Color blue =	new Color(0x00, 0x00, 0xff);
+  
+  // The internal sRGB representation.
+  private float r;
+  private float g;
+  private float b;
+  private int alpha = 255;
+
+  public Color(int rgb)
+  {
+    this(rgb, false);
+  } 
+
+  public Color(int rgba, boolean hasalpha)
+  {
+    // Alpha is bits 24-31, if hasalpha is true.
+    // Red is bits 16-23; Green is bits 8-15; Blue is bits 0-7.
+    b = rgb & 0xFF;
+    g = (rgb >>= 8) & 0xFF;
+    r = (rgb >>= 8) & 0xFF;
+    if (hasalpha)
+      alpha = (rgb >>= 8) & 0xFF;
+  }
+
+  public int getRGB()
+  {
+    return alpha << 24 | r << 16 | g << 8 | b;
+  }
+}
diff --git a/libjava/java/awt/Font.java b/libjava/java/awt/Font.java
index 08503677ff70e4084dfbf393b5f479a9d33b23c1..edf5144df4771bb637023694dc9e0d3deb662126 100644
--- a/libjava/java/awt/Font.java
+++ b/libjava/java/awt/Font.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999  Free Software Foundation
+/* Copyright (C) 1999, 2000  Free Software Foundation
 
    This file is part of libjava.
 
@@ -8,8 +8,83 @@ details.  */
 
 package java.awt;
 
-/* A *very* incomplete placeholder. */
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Stubbed; A very incomplete implementation.
+ */
 
 public class Font
 {
+  // FIXME
+
+  public static final int PLAIN = 0;
+  public static final int BOLD = 1;
+  public static final int ITALIC = 2;
+  public static final int ROMAN_BASELINE = 0;
+  public static final int CENTER_BASELINE = 1;
+  public static final int HANGING_BASELINE = 2;
+  protected String name;
+  protected int style;
+  protected int size;
+  protected float pointSize;
+
+  public Font(String name, int style, int size)
+  {
+    this.name = name;
+    this.style = style & 0x3;	// Only use lowest 2 bits.
+    this.size = size;
+    pointSize = size;		// Assume some subclass can set a different val.
+  }
+
+  public boolean isPlain()
+  {
+    if (style == PLAIN)
+      return true;
+
+    return false;
+  }
+
+  public boolean isBold()
+  {
+    if (style & BOLD == BOLD)
+      return true;
+
+    return false;
+  }
+
+  public boolean isItalic()
+  {
+    if (style & ITALIC == ITALIC)
+      return true;
+
+    return false;
+  }
+  
+  public String getName()
+  {
+    return name;
+  }
+
+  public int getStyle()
+  {
+    return style;
+  }
+
+  public int getSize()
+  {
+    return size;
+  }
+
+  public float getSize2D()
+  {
+    return pointSize;
+  }
+
+  public static Font decode(String str) { return null; } // FIXME
 }
diff --git a/libjava/java/awt/Frame.java b/libjava/java/awt/Frame.java
index 6f2cc24e421a2996fc492d626b0715e4c9493a4f..93c7e76b9ee8c0c34497328260aeb0350f5e290f 100644
--- a/libjava/java/awt/Frame.java
+++ b/libjava/java/awt/Frame.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999  Free Software Foundation
+/* Copyright (C) 1999, 2000  Free Software Foundation
 
    This file is part of libjava.
 
@@ -52,4 +52,8 @@ public class Frame extends Window implements MenuContainer
       }
     super.addNotify();
   }
+
+  public Font getFont() { return null; } // FIXME
+  public boolean postEvent(Event evt) { return null; } // FIXME
+  public void remove(MenuComponent comp) { } // FIXME
 }
diff --git a/libjava/java/awt/Graphics.java b/libjava/java/awt/Graphics.java
new file mode 100644
index 0000000000000000000000000000000000000000..8b11f812113ed4043b7880622111eddba07deba1
--- /dev/null
+++ b/libjava/java/awt/Graphics.java
@@ -0,0 +1,29 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.awt;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 15, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Stubbed; A very incomplete placeholder.
+ */
+
+public abstract class Graphics extends Object
+{
+  protected Graphics()
+  {
+    super();  // ???
+    throw new Error ("java.awt.Graphics: not implemented");
+  }
+}
diff --git a/libjava/java/awt/Image.java b/libjava/java/awt/Image.java
new file mode 100644
index 0000000000000000000000000000000000000000..75ddd2e9a00c60cd8463abfe10577c1487019f57
--- /dev/null
+++ b/libjava/java/awt/Image.java
@@ -0,0 +1,29 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.awt;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 15, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Stubbed; A very incomplete placeholder.
+ */
+
+public abstract class Image extends Object
+{
+  public Image()
+  {
+    super();  // ???
+    throw new Error("java.awt.Image: not implemented");
+  }
+}
diff --git a/libjava/java/awt/Menu.java b/libjava/java/awt/Menu.java
index b171bca2e19c69769f222971b623b3c820d782f8..dadc0c0536403ed053e73a7fc4511a21f54e6313 100644
--- a/libjava/java/awt/Menu.java
+++ b/libjava/java/awt/Menu.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999  Free Software Foundation
+/* Copyright (C) 1999, 2000  Free Software Foundation
 
    This file is part of libjava.
 
@@ -28,6 +28,6 @@ public class Menu extends MenuItem implements MenuContainer
   }
 
   public Font getFont() { return null; } // FIXME
-  //public boolean postEvent(Event evt);
+  public boolean postEvent(Event evt) { return null; } // FIXME
   public void remove(MenuComponent comp) { } // FIXME
 }
diff --git a/libjava/java/awt/MenuBar.java b/libjava/java/awt/MenuBar.java
index c0f6430856ff79e7ed23d4d3aceacd020c080668..59538353344f463622fa382187dc46cb7a4d6974 100644
--- a/libjava/java/awt/MenuBar.java
+++ b/libjava/java/awt/MenuBar.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999  Free Software Foundation
+/* Copyright (C) 1999, 2000  Free Software Foundation
 
    This file is part of libjava.
 
@@ -41,4 +41,7 @@ public class MenuBar extends MenuComponent  implements MenuContainer
 	  }
       }
   }
+
+  public Font getFont() { return null; } // FIXME
+  public boolean postEvent(Event evt) { return null; } // FIXME
 }
diff --git a/libjava/java/awt/Paint.java b/libjava/java/awt/Paint.java
new file mode 100644
index 0000000000000000000000000000000000000000..0836402ef9143a89ad3ccac075e364a1ecd74d9c
--- /dev/null
+++ b/libjava/java/awt/Paint.java
@@ -0,0 +1,30 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.awt;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 15, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Stubbed.
+ */
+
+public interface Paint extends Transparency
+{
+  // FIXME
+  // public PaintContext createContext(ColorModel cm,
+  //				    Rectangle deviceBounds,
+  //  				    Rectangle2D userBounds,
+  //				    AffineTransform xform,
+  //				    RenderingHints hints);
+}
diff --git a/libjava/java/awt/PaintContext.java b/libjava/java/awt/PaintContext.java
new file mode 100644
index 0000000000000000000000000000000000000000..0b4e6a7b0d7b2e2979b53d84b151bf9f255c4336
--- /dev/null
+++ b/libjava/java/awt/PaintContext.java
@@ -0,0 +1,28 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.awt;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Partially stubbed.
+ */
+
+public interface PaintContext
+{
+  public void dispose();
+  // FIXME
+  // public ColorModel getColorModel();
+  // public Raster getRaster(int x, int y, int w, int h);
+}
diff --git a/libjava/java/awt/Toolkit.java b/libjava/java/awt/Toolkit.java
index cfb2d77ba0acaddbd001e4b8392bd9774ebb57fc..8ba7ee26df440d32a1edf29b0f68fc65200ed441 100644
--- a/libjava/java/awt/Toolkit.java
+++ b/libjava/java/awt/Toolkit.java
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999  Free Software Foundation
+/* Copyright (C) 1999, 2000  Free Software Foundation
 
    This file is part of libjava.
 
@@ -23,6 +23,7 @@ public abstract class Toolkit
   }
 
   protected abstract FramePeer createFrame(Frame target);
+  public abstract Image getImage(URL url);
 
   private static native void init();
   // static { init(); }
diff --git a/libjava/java/awt/Transparency.java b/libjava/java/awt/Transparency.java
new file mode 100644
index 0000000000000000000000000000000000000000..c1190069839c45369b804a9f9542ddb84a70cbcb
--- /dev/null
+++ b/libjava/java/awt/Transparency.java
@@ -0,0 +1,29 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.awt;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 15, 2000.
+ */
+
+/**
+ * Written using on-line Java Platform 1.2 API Specification, as well
+ * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * Status:  Believed complete and correct.
+ */
+
+public interface Transparency
+{
+  public static final int OPAQUE = 1;
+  public static final int BITMASK = 2;
+  public static final int TRANSLUCENT = 3;
+
+  public int getTransparency();
+}
diff --git a/libjava/java/util/Collection.java b/libjava/java/util/Collection.java
new file mode 100644
index 0000000000000000000000000000000000000000..46da71b1dc756983263efc0c794ff3bd0c396891
--- /dev/null
+++ b/libjava/java/util/Collection.java
@@ -0,0 +1,37 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+/* Written using on-line Java Platform 1.2 API Specification.
+ * Status:  Believed complete and correct.
+ */
+
+// JDK1.2
+public interface Collection
+{
+  public int size();
+  public boolean isEmpty();
+  public boolean contains(Object o);
+  public Iterator iterator();
+  public Object[] toArray();
+  public Object[] toArray(Object[] a);
+  public boolean add(Object o);
+  public boolean remove(Object o);
+  public boolean containsAll(Collection c);
+  public boolean addAll(Collection c);
+  public boolean removeAll(Collection c);
+  public boolean retainAll(Collection c);
+  public void clear();
+  public boolean equals(Object o);
+  public int hashCode();
+}
diff --git a/libjava/java/util/Comparator.java b/libjava/java/util/Comparator.java
new file mode 100644
index 0000000000000000000000000000000000000000..8f114ee79b03be304dcc26497e65f011bb3d83ac
--- /dev/null
+++ b/libjava/java/util/Comparator.java
@@ -0,0 +1,24 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+/* Written using on-line Java Platform 1.2 API Specification.
+ * Status:  Believed complete and correct.
+ */
+
+// JDK1.2
+public interface Comparator
+{
+  public int compare(Object o1, Object o2);
+  public boolean equals(Object obj);
+}
diff --git a/libjava/java/util/Iterator.java b/libjava/java/util/Iterator.java
new file mode 100644
index 0000000000000000000000000000000000000000..f6942fefa190c25963be95b03dd655fbd9fce8ff
--- /dev/null
+++ b/libjava/java/util/Iterator.java
@@ -0,0 +1,25 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+/* Written using on-line Java Platform 1.2 API Specification.
+ * Status:  Believed complete and correct.
+ */
+
+// JDK1.2
+public interface Iterator
+{
+  public boolean hasNext();
+  public Object next();
+  public void remove();
+}
diff --git a/libjava/java/util/List.java b/libjava/java/util/List.java
new file mode 100644
index 0000000000000000000000000000000000000000..ea69217553e99ba514ebffda0ddab206e08550db
--- /dev/null
+++ b/libjava/java/util/List.java
@@ -0,0 +1,47 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+/* Written using on-line Java Platform 1.2 API Specification.
+ * Status:  Believed complete and correct.
+ */
+
+// JDK1.2
+public interface List extends Collection
+{
+  public int size();
+  public boolean isEmpty();
+  public boolean contains(Object o);
+  public Iterator iterator();
+  public Object[] toArray();
+  public Object[] toArray(Object[] a);
+  public boolean add(Object o);
+  public boolean remove(Object o);
+  public boolean containsAll(Collection c);
+  public boolean addAll(Collection c);
+  public boolean addAll(int index, Collection c);
+  public boolean removeAll(Collection c);
+  public boolean retainAll(Collection c);
+  public void clear();
+  public boolean equals(Object o);
+  public int hashCode();
+  public Object get(int index);
+  public Object set(int index, Object element);
+  public void add(int index, Object element);
+  public Object remove(int index);
+  public int indexOf(Object o);
+  public int lastIndexOf(Object o);
+  public ListIterator listIterator();
+  public ListIterator listIterator(int index);
+  public List subList(int fromIndex, int toIndex);
+}
diff --git a/libjava/java/util/ListIterator.java b/libjava/java/util/ListIterator.java
new file mode 100644
index 0000000000000000000000000000000000000000..8250e2ab01a4508a1fd49413c2726e80adf816b7
--- /dev/null
+++ b/libjava/java/util/ListIterator.java
@@ -0,0 +1,31 @@
+/* Copyright (C) 2000  Free Software Foundation
+
+   This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License.  Please consult the file "LIBGCJ_LICENSE" for
+details.  */
+
+package java.util;
+
+/**
+ * @author Warren Levy <warrenl@cygnus.com>
+ * @date March 16, 2000.
+ */
+/* Written using on-line Java Platform 1.2 API Specification.
+ * Status:  Believed complete and correct.
+ */
+
+// JDK1.2
+public interface ListIterator extends Iterator
+{
+  public boolean hasNext();
+  public Object next();
+  public boolean hasPrevious();
+  public Object previous();
+  public int nextIndex();
+  public int previousIndex();
+  public void remove();
+  public void set(Object o);
+  public void add(Object o);
+}