diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/CountAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/CountAggregatorFactory.java
index d0cb6bd..a99cba9 100644
--- a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/CountAggregatorFactory.java
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/CountAggregatorFactory.java
@@ -19,6 +19,7 @@
 
 import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer;
 
 public class CountAggregatorFactory implements IFieldValueResultingAggregatorFactory {
     private static final long serialVersionUID = 1L;
@@ -48,4 +49,49 @@
             }
         };
     }
+
+    @Override
+    public ISpillableFieldValueResultingAggregator createSpillableFieldValueResultingAggregator() {
+        return new ISpillableFieldValueResultingAggregator() {
+            private int count;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeInt(count);
+                } catch (IOException e) {
+                    throw new HyracksDataException(e);
+                }
+            }
+
+            @Override
+            public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                count = IntegerSerializerDeserializer.getInt(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                count++;
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                count = 0;
+            }
+
+            @Override
+            public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                count += IntegerSerializerDeserializer.getInt(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+            }
+        };
+    }
 }
\ No newline at end of file
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/FloatSumAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/FloatSumAggregatorFactory.java
new file mode 100644
index 0000000..7e6bc8c
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/FloatSumAggregatorFactory.java
@@ -0,0 +1,135 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.FloatSerializerDeserializer;
+
+/**
+ * SUM aggregator on float type data.
+ * 
+ * @author jarodwen
+ */
+public class FloatSumAggregatorFactory implements IFieldValueResultingAggregatorFactory {
+
+    /**
+	 * 
+	 */
+    private static final long serialVersionUID = 1L;
+    private int sumField;
+
+    public FloatSumAggregatorFactory(int field) {
+        this.sumField = field;
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see edu.uci.ics.hyracks.dataflow.std.aggregators.
+     * IFieldValueResultingAggregatorFactory
+     * #createFieldValueResultingAggregator()
+     */
+    @Override
+    public IFieldValueResultingAggregator createFieldValueResultingAggregator() {
+        return new IFieldValueResultingAggregator() {
+
+            private float sum;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeFloat(sum);
+                } catch (IOException ex) {
+                    throw new HyracksDataException(ex);
+                }
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                sum = 0;
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                int tupleOffset = accessor.getTupleStartOffset(tIndex);
+                int fieldCount = accessor.getFieldCount();
+                int fieldStart = accessor.getFieldStartOffset(tIndex, sumField);
+                sum += FloatSerializerDeserializer.getFloat(accessor.getBuffer().array(), tupleOffset + 2 * fieldCount
+                        + fieldStart);
+            }
+        };
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see edu.uci.ics.hyracks.dataflow.std.aggregators.
+     * IFieldValueResultingAggregatorFactory
+     * #createSpillableFieldValueResultingAggregator()
+     */
+    @Override
+    public ISpillableFieldValueResultingAggregator createSpillableFieldValueResultingAggregator() {
+        return new ISpillableFieldValueResultingAggregator() {
+
+            private float sum;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeFloat(sum);
+                } catch (IOException ex) {
+                    throw new HyracksDataException(ex);
+                }
+            }
+
+            @Override
+            public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                sum = FloatSerializerDeserializer.getFloat(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                sum = 0;
+            }
+
+            @Override
+            public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                sum += FloatSerializerDeserializer.getFloat(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                int tupleOffset = accessor.getTupleStartOffset(tIndex);
+                int fieldCount = accessor.getFieldCount();
+                int fieldStart = accessor.getFieldStartOffset(tIndex, sumField);
+                sum += FloatSerializerDeserializer.getFloat(accessor.getBuffer().array(), tupleOffset + 2 * fieldCount
+                        + fieldStart);
+            }
+        };
+    }
+
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/IFieldValueResultingAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/IFieldValueResultingAggregatorFactory.java
index d2d2e89..1b7da7f 100644
--- a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/IFieldValueResultingAggregatorFactory.java
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/IFieldValueResultingAggregatorFactory.java
@@ -18,4 +18,6 @@
 
 public interface IFieldValueResultingAggregatorFactory extends Serializable {
     public IFieldValueResultingAggregator createFieldValueResultingAggregator();
+
+    public ISpillableFieldValueResultingAggregator createSpillableFieldValueResultingAggregator();
 }
\ No newline at end of file
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/ISpillableFieldValueResultingAggregator.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/ISpillableFieldValueResultingAggregator.java
new file mode 100644
index 0000000..d52f458
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/ISpillableFieldValueResultingAggregator.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
+
+import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+
+/**
+ * An extended version of the {@link IFieldValueResultingAggregator} supporting
+ * external aggregation.
+ */
+public interface ISpillableFieldValueResultingAggregator extends IFieldValueResultingAggregator {
+
+    /**
+     * Called once per aggregator before calling accumulate for the first time.
+     * 
+     * @param accessor
+     *            - Accessor to the data tuple.
+     * @param tIndex
+     *            - Index of the tuple in the accessor.
+     * @throws HyracksDataException
+     */
+    public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int fIndex) throws HyracksDataException;
+
+    /**
+     * Aggregate another partial result.
+     * 
+     * @param accessor
+     * @param tIndex
+     * @param fIndex
+     * @throws HyracksDataException
+     */
+    public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+            throws HyracksDataException;
+
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MinMaxAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MinMaxAggregatorFactory.java
new file mode 100644
index 0000000..0c3b0d5
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MinMaxAggregatorFactory.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.FloatSerializerDeserializer;
+
+/**
+ * Min/Max aggregator factory
+ */
+public class MinMaxAggregatorFactory implements IFieldValueResultingAggregatorFactory {
+
+    /**
+	 * 
+	 */
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * indicate the type of the value: true: max false: min
+     */
+    private boolean type;
+
+    /**
+     * The field to be aggregated.
+     */
+    private int field;
+
+    public MinMaxAggregatorFactory(boolean type, int field) {
+        this.type = type;
+        this.field = field;
+    }
+
+    @Override
+    public IFieldValueResultingAggregator createFieldValueResultingAggregator() {
+        return new IFieldValueResultingAggregator() {
+
+            private float minmax;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeFloat(minmax);
+                } catch (IOException ex) {
+                    throw new HyracksDataException(ex);
+                }
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                minmax = 0;
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                int tupleOffset = accessor.getTupleStartOffset(tIndex);
+                int fieldCount = accessor.getFieldCount();
+                int fieldStart = accessor.getFieldStartOffset(tIndex, field);
+                float nval = FloatSerializerDeserializer.getFloat(accessor.getBuffer().array(), tupleOffset + 2
+                        * fieldCount + fieldStart);
+                if ((type ? (nval > minmax) : (nval < minmax))) {
+                    minmax = nval;
+                }
+            }
+        };
+    }
+
+    @Override
+    public ISpillableFieldValueResultingAggregator createSpillableFieldValueResultingAggregator() {
+        return new ISpillableFieldValueResultingAggregator() {
+
+            private float minmax;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeFloat(minmax);
+                } catch (IOException ex) {
+                    throw new HyracksDataException(ex);
+                }
+            }
+
+            @Override
+            public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                minmax = FloatSerializerDeserializer.getFloat(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                minmax = 0;
+            }
+
+            @Override
+            public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                minmax = FloatSerializerDeserializer.getFloat(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                int tupleOffset = accessor.getTupleStartOffset(tIndex);
+                int fieldCount = accessor.getFieldCount();
+                int fieldStart = accessor.getFieldStartOffset(tIndex, field);
+                float nval = FloatSerializerDeserializer.getFloat(accessor.getBuffer().array(), tupleOffset + 2
+                        * fieldCount + fieldStart);
+                if ((type ? (nval > minmax) : (nval < minmax))) {
+                    minmax = nval;
+                }
+            }
+        };
+    }
+
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MultiAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MultiAggregatorFactory.java
index a679a05..957c453 100644
--- a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MultiAggregatorFactory.java
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/MultiAggregatorFactory.java
@@ -24,6 +24,7 @@
 import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAppender;
 import edu.uci.ics.hyracks.dataflow.std.group.IAccumulatingAggregator;
 import edu.uci.ics.hyracks.dataflow.std.group.IAccumulatingAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.group.ISpillableAccumulatingAggregator;
 
 public class MultiAggregatorFactory implements IAccumulatingAggregatorFactory {
     private static final long serialVersionUID = 1L;
@@ -35,20 +36,21 @@
     }
 
     @Override
-    public IAccumulatingAggregator createAggregator(IHyracksStageletContext ctx, RecordDescriptor inRecordDesc,
-            final RecordDescriptor outRecordDescriptor) {
-        final IFieldValueResultingAggregator aggregators[] = new IFieldValueResultingAggregator[aFactories.length];
+    public ISpillableAccumulatingAggregator createSpillableAggregator(IHyracksStageletContext ctx,
+            RecordDescriptor inRecordDesc, final RecordDescriptor outRecordDescriptor) {
+        final ISpillableFieldValueResultingAggregator aggregators[] = new ISpillableFieldValueResultingAggregator[aFactories.length];
         for (int i = 0; i < aFactories.length; ++i) {
-            aggregators[i] = aFactories[i].createFieldValueResultingAggregator();
+            aggregators[i] = aFactories[i].createSpillableFieldValueResultingAggregator();
         }
         final ArrayTupleBuilder tb = new ArrayTupleBuilder(outRecordDescriptor.getFields().length);
-        return new IAccumulatingAggregator() {
+        return new ISpillableAccumulatingAggregator() {
             private boolean pending;
 
             @Override
             public boolean output(FrameTupleAppender appender, IFrameTupleAccessor accessor, int tIndex,
                     int[] keyFieldIndexes) throws HyracksDataException {
                 if (!pending) {
+                    tb.reset();
                     for (int i = 0; i < keyFieldIndexes.length; ++i) {
                         tb.addField(accessor, tIndex, keyFieldIndexes[i]);
                     }
@@ -80,6 +82,94 @@
                     aggregators[i].accumulate(accessor, tIndex);
                 }
             }
+
+            @Override
+            public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int[] keyFieldIndexes)
+                    throws HyracksDataException {
+                tb.reset();
+                for (int i = 0; i < aggregators.length; i++) {
+                    aggregators[i].initFromPartial(accessor, tIndex, keyFieldIndexes.length + i);
+                }
+                pending = false;
+            }
+
+            @Override
+            public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int[] keyFieldIndexes)
+                    throws HyracksDataException {
+                for (int i = 0; i < aggregators.length; i++) {
+                    aggregators[i].accumulatePartialResult(accessor, tIndex, keyFieldIndexes.length + i);
+                }
+
+            }
+
+            @Override
+            public boolean output(FrameTupleAppender appender, ArrayTupleBuilder tbder) throws HyracksDataException {
+                if (!pending) {
+                    // TODO Here to be fixed:
+                    DataOutput dos = tbder.getDataOutput();
+                    for (int i = 0; i < aggregators.length; ++i) {
+                        aggregators[i].output(dos);
+                        tbder.addFieldEndOffset();
+                    }
+                }
+                if (!appender.append(tbder.getFieldEndOffsets(), tbder.getByteArray(), 0, tbder.getSize())) {
+                    pending = true;
+                    return false;
+                }
+                return true;
+            }
+        };
+    }
+
+    @Override
+    public IAccumulatingAggregator createAggregator(IHyracksStageletContext ctx, RecordDescriptor inRecordDesc,
+            RecordDescriptor outRecordDescriptor) throws HyracksDataException {
+        final IFieldValueResultingAggregator aggregators[] = new IFieldValueResultingAggregator[aFactories.length];
+        for (int i = 0; i < aFactories.length; ++i) {
+            aggregators[i] = aFactories[i].createFieldValueResultingAggregator();
+        }
+        final ArrayTupleBuilder tb = new ArrayTupleBuilder(outRecordDescriptor.getFields().length);
+        return new IAccumulatingAggregator() {
+
+            private boolean pending;
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                tb.reset();
+                for (int i = 0; i < aggregators.length; ++i) {
+                    aggregators[i].init(accessor, tIndex);
+                }
+                pending = false;
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                for (int i = 0; i < aggregators.length; ++i) {
+                    aggregators[i].accumulate(accessor, tIndex);
+                }
+            }
+
+            @Override
+            public boolean output(FrameTupleAppender appender, IFrameTupleAccessor accessor, int tIndex,
+                    int[] keyFieldIndexes) throws HyracksDataException {
+                if (!pending) {
+                    tb.reset();
+                    for (int i = 0; i < keyFieldIndexes.length; ++i) {
+                        tb.addField(accessor, tIndex, keyFieldIndexes[i]);
+                    }
+                    DataOutput dos = tb.getDataOutput();
+                    for (int i = 0; i < aggregators.length; ++i) {
+                        aggregators[i].output(dos);
+                        tb.addFieldEndOffset();
+                    }
+                }
+                if (!appender.append(tb.getFieldEndOffsets(), tb.getByteArray(), 0, tb.getSize())) {
+                    pending = true;
+                    return false;
+                }
+                return true;
+            }
+
         };
     }
 }
\ No newline at end of file
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumAggregatorFactory.java
new file mode 100644
index 0000000..64335f1
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumAggregatorFactory.java
@@ -0,0 +1,134 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
+
+import java.io.DataOutput;
+import java.io.IOException;
+
+import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer;
+
+/**
+ * SUM aggregator factory (for integer only; another SUM aggregator for floats
+ * is available at {@link FloatSumAggregatorFactory})
+ */
+public class SumAggregatorFactory implements IFieldValueResultingAggregatorFactory {
+
+    private int sumField;
+
+    public SumAggregatorFactory(int field) {
+        sumField = field;
+    }
+
+    /**
+	 * 
+	 */
+    private static final long serialVersionUID = 1L;
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see edu.uci.ics.hyracks.dataflow.std.aggregators.
+     * IFieldValueResultingAggregatorFactory
+     * #createFieldValueResultingAggregator()
+     */
+    @Override
+    public IFieldValueResultingAggregator createFieldValueResultingAggregator() {
+        return new IFieldValueResultingAggregator() {
+            private int sum;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeInt(sum);
+                } catch (IOException e) {
+                    throw new HyracksDataException(e);
+                }
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                sum++;
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                int tupleOffset = accessor.getTupleStartOffset(tIndex);
+                int fieldCount = accessor.getFieldCount();
+                int fieldStart = accessor.getFieldStartOffset(tIndex, sumField);
+                sum += IntegerSerializerDeserializer.getInt(accessor.getBuffer().array(), tupleOffset + 2 * fieldCount
+                        + fieldStart);
+            }
+        };
+    }
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see edu.uci.ics.hyracks.dataflow.std.aggregators.spillable.
+     * ISpillableFieldValueResultingAggregatorFactory
+     * #createFieldValueResultingAggregator()
+     */
+    @Override
+    public ISpillableFieldValueResultingAggregator createSpillableFieldValueResultingAggregator() {
+        return new ISpillableFieldValueResultingAggregator() {
+
+            private int sum;
+
+            @Override
+            public void output(DataOutput resultAcceptor) throws HyracksDataException {
+                try {
+                    resultAcceptor.writeInt(sum);
+                } catch (IOException ex) {
+                    throw new HyracksDataException(ex);
+                }
+            }
+
+            @Override
+            public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                sum = IntegerSerializerDeserializer.getInt(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+            }
+
+            @Override
+            public void init(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                sum = 0;
+            }
+
+            @Override
+            public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int fIndex)
+                    throws HyracksDataException {
+                sum += IntegerSerializerDeserializer.getInt(
+                        accessor.getBuffer().array(),
+                        accessor.getTupleStartOffset(tIndex) + accessor.getFieldCount() * 2
+                                + accessor.getFieldStartOffset(tIndex, fIndex));
+            }
+
+            @Override
+            public void accumulate(IFrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+                int tupleOffset = accessor.getTupleStartOffset(tIndex);
+                int fieldCount = accessor.getFieldCount();
+                int fieldStart = accessor.getFieldStartOffset(tIndex, sumField);
+                sum += IntegerSerializerDeserializer.getInt(accessor.getBuffer().array(), tupleOffset + 2 * fieldCount
+                        + fieldStart);
+            }
+        };
+    }
+
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java
new file mode 100644
index 0000000..530207d
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/PlainFileWriterOperatorDescriptor.java
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.file;
+
+import java.io.BufferedWriter;
+import java.io.DataInputStream;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.nio.ByteBuffer;
+
+import edu.uci.ics.hyracks.api.context.IHyracksStageletContext;
+import edu.uci.ics.hyracks.api.dataflow.IOperatorNodePushable;
+import edu.uci.ics.hyracks.api.dataflow.value.IRecordDescriptorProvider;
+import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.api.job.IOperatorEnvironment;
+import edu.uci.ics.hyracks.api.job.JobSpecification;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
+import edu.uci.ics.hyracks.dataflow.common.comm.util.ByteBufferInputStream;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractUnaryInputSinkOperatorNodePushable;
+
+/**
+ * File writer to output plain text.
+ */
+public class PlainFileWriterOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    private IFileSplitProvider fileSplitProvider;
+
+    private String delim;
+
+    /**
+     * @param spec
+     * @param inputArity
+     * @param outputArity
+     */
+    public PlainFileWriterOperatorDescriptor(JobSpecification spec, IFileSplitProvider fileSplitProvider, String delim) {
+        super(spec, 1, 0);
+        this.fileSplitProvider = fileSplitProvider;
+        this.delim = delim;
+    }
+
+    /* (non-Javadoc)
+     * @see edu.uci.ics.hyracks.api.dataflow.IActivityNode#createPushRuntime(edu.uci.ics.hyracks.api.context.IHyracksContext, edu.uci.ics.hyracks.api.job.IOperatorEnvironment, edu.uci.ics.hyracks.api.dataflow.value.IRecordDescriptorProvider, int, int)
+     */
+    @Override
+    public IOperatorNodePushable createPushRuntime(IHyracksStageletContext ctx, IOperatorEnvironment env,
+            IRecordDescriptorProvider recordDescProvider, final int partition, int nPartitions)
+    throws HyracksDataException {
+        // Output files
+        final FileSplit[] splits = fileSplitProvider.getFileSplits();
+        // Frame accessor
+        final FrameTupleAccessor frameTupleAccessor = new FrameTupleAccessor(ctx.getFrameSize(),
+                recordDescProvider.getInputRecordDescriptor(getOperatorId(), 0));
+        // Record descriptor
+        final RecordDescriptor recordDescriptor = recordDescProvider.getInputRecordDescriptor(getOperatorId(), 0);
+        return new AbstractUnaryInputSinkOperatorNodePushable() {
+            private BufferedWriter out;
+
+            private ByteBufferInputStream bbis;
+
+            private DataInputStream di;
+
+            @Override
+            public void open() throws HyracksDataException {
+                try {
+                    out = new BufferedWriter(new FileWriter(splits[partition].getLocalFile().getFile()));
+                    bbis = new ByteBufferInputStream();
+                    di = new DataInputStream(bbis);
+                } catch (Exception e) {
+                    throw new HyracksDataException(e);
+                }
+            }
+
+            @Override
+            public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
+                try {
+                    frameTupleAccessor.reset(buffer);
+                    for (int tIndex = 0; tIndex < frameTupleAccessor.getTupleCount(); tIndex++) {
+                        int start = frameTupleAccessor.getTupleStartOffset(tIndex)
+                        + frameTupleAccessor.getFieldSlotsLength();
+                        bbis.setByteBuffer(buffer, start);
+                        Object[] record = new Object[recordDescriptor.getFields().length];
+                        for (int i = 0; i < record.length; ++i) {
+                            Object instance = recordDescriptor.getFields()[i].deserialize(di);
+                            if (i == 0) {
+                                out.write(String.valueOf(instance));
+                            } else {
+                                out.write(delim + String.valueOf(instance));
+                            }
+                        }
+                        out.write("\n");
+                    }
+                } catch (IOException ex) {
+                    throw new HyracksDataException(ex);
+                }
+            }
+
+            @Override
+            public void flush() throws HyracksDataException {
+                try {
+                    out.flush();
+                } catch (IOException e) {
+                    throw new HyracksDataException(e);
+                }
+            }
+
+            @Override
+            public void close() throws HyracksDataException {
+                try {
+                    out.close();
+                } catch (IOException e) {
+                    throw new HyracksDataException(e);
+                }
+            }
+        };
+    }
+
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/ExternalHashGroupOperatorDescriptor.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/ExternalHashGroupOperatorDescriptor.java
new file mode 100644
index 0000000..b13b087
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/ExternalHashGroupOperatorDescriptor.java
@@ -0,0 +1,692 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.group;
+
+import java.io.IOException;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.logging.Logger;
+
+import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
+import edu.uci.ics.hyracks.api.comm.IFrameWriter;
+import edu.uci.ics.hyracks.api.context.IHyracksStageletContext;
+import edu.uci.ics.hyracks.api.dataflow.IActivityGraphBuilder;
+import edu.uci.ics.hyracks.api.dataflow.IOperatorDescriptor;
+import edu.uci.ics.hyracks.api.dataflow.IOperatorNodePushable;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.IRecordDescriptorProvider;
+import edu.uci.ics.hyracks.api.dataflow.value.ITuplePartitionComputerFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.api.io.FileReference;
+import edu.uci.ics.hyracks.api.job.IOperatorEnvironment;
+import edu.uci.ics.hyracks.api.job.JobSpecification;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAppender;
+import edu.uci.ics.hyracks.dataflow.common.comm.util.FrameUtils;
+import edu.uci.ics.hyracks.dataflow.common.io.RunFileReader;
+import edu.uci.ics.hyracks.dataflow.common.io.RunFileWriter;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractUnaryInputSinkOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractUnaryOutputSourceOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.util.ReferenceEntry;
+import edu.uci.ics.hyracks.dataflow.std.util.ReferencedPriorityQueue;
+
+/**
+ * This is an implementation of the external hash group operator.
+ * The motivation of this operator is that when tuples are processed in
+ * parallel, distinguished aggregating keys partitioned on one node may exceed
+ * the main memory, so aggregation results should be output onto the disk to
+ * make space for aggregating more input tuples.
+ */
+public class ExternalHashGroupOperatorDescriptor extends AbstractOperatorDescriptor {
+
+    /**
+     * The input frame identifier (in the job environment)
+     */
+    private static final String GROUPTABLES = "gtables";
+
+    /**
+     * The runs files identifier (in the job environment)
+     */
+    private static final String RUNS = "runs";
+
+    /**
+     * The fields used for grouping (grouping keys).
+     */
+    private final int[] keyFields;
+
+    /**
+     * The comparator for checking the grouping conditions, corresponding to the {@link #keyFields}.
+     */
+    private final IBinaryComparatorFactory[] comparatorFactories;
+
+    /**
+     * The aggregator factory for the aggregating field, corresponding to the {@link #aggregateFields}.
+     */
+    private IAccumulatingAggregatorFactory aggregatorFactory;
+
+    /**
+     * The maximum number of frames in the main memory.
+     */
+    private final int framesLimit;
+
+    /**
+     * Indicate whether the final output will be sorted or not.
+     */
+    private final boolean sortOutput;
+
+    /**
+     * Partition computer factory
+     */
+    private final ITuplePartitionComputerFactory tpcf;
+
+    /**
+     * The size of the in-memory table, which should be specified now by the
+     * creator of this operator descriptor.
+     */
+    private final int tableSize;
+
+    /**
+     * XXX Logger for debug information
+     */
+    private static Logger LOGGER = Logger.getLogger(ExternalHashGroupOperatorDescriptor.class.getName());
+
+    /**
+     * Constructor of the external hash group operator descriptor.
+     * 
+     * @param spec
+     * @param keyFields
+     *            The fields as keys of grouping.
+     * @param framesLimit
+     *            The maximum number of frames to be used in memory.
+     * @param sortOutput
+     *            Whether the output should be sorted or not. Note that if the
+     *            input data is large enough for external grouping, the output
+     *            will be sorted surely. The only case that when the output is
+     *            not sorted is when the size of the input data can be grouped
+     *            in memory and this parameter is false.
+     * @param tpcf
+     *            The partitioner.
+     * @param comparatorFactories
+     *            The comparators.
+     * @param aggregatorFactory
+     *            The aggregators.
+     * @param recordDescriptor
+     *            The record descriptor for the input data.
+     * @param tableSize
+     *            The maximum size of the in memory table usable to this
+     *            operator.
+     */
+    public ExternalHashGroupOperatorDescriptor(JobSpecification spec, int[] keyFields, int framesLimit,
+            boolean sortOutput, ITuplePartitionComputerFactory tpcf, IBinaryComparatorFactory[] comparatorFactories,
+            IAccumulatingAggregatorFactory aggregatorFactory, RecordDescriptor recordDescriptor, int tableSize) {
+        super(spec, 1, 1);
+        this.framesLimit = framesLimit;
+        if (framesLimit <= 1) {
+            // Minimum of 2 frames: 1 for input records, and 1 for output
+            // aggregation results.
+            throw new IllegalStateException();
+        }
+        this.aggregatorFactory = aggregatorFactory;
+        this.keyFields = keyFields;
+        this.comparatorFactories = comparatorFactories;
+
+        this.sortOutput = sortOutput;
+
+        this.tpcf = tpcf;
+
+        this.tableSize = tableSize;
+
+        // Set the record descriptor. Note that since this operator is a unary
+        // operator,
+        // only the first record descritpor is used here.
+        recordDescriptors[0] = recordDescriptor;
+    }
+
+    /**
+     * 
+     */
+    private static final long serialVersionUID = 1L;
+
+    /*
+     * (non-Javadoc)
+     * 
+     * @see
+     * edu.uci.ics.hyracks.api.dataflow.IOperatorDescriptor#contributeTaskGraph
+     * (edu.uci.ics.hyracks.api.dataflow.IActivityGraphBuilder)
+     */
+    @Override
+    public void contributeTaskGraph(IActivityGraphBuilder builder) {
+        PartialAggregateActivity partialAggAct = new PartialAggregateActivity();
+        MergeActivity mergeAct = new MergeActivity();
+
+        builder.addTask(partialAggAct);
+        builder.addSourceEdge(0, partialAggAct, 0);
+
+        builder.addTask(mergeAct);
+        builder.addTargetEdge(0, mergeAct, 0);
+
+        // FIXME Block or not?
+        builder.addBlockingEdge(partialAggAct, mergeAct);
+
+    }
+
+    private class PartialAggregateActivity extends AbstractActivityNode {
+
+        /**
+         * 
+         */
+        private static final long serialVersionUID = 1L;
+
+        @Override
+        public IOperatorNodePushable createPushRuntime(final IHyracksStageletContext ctx,
+                final IOperatorEnvironment env, final IRecordDescriptorProvider recordDescProvider, int partition,
+                int nPartitions) {
+            // Create the in-memory hash table
+            final SpillableGroupingHashTable gTable = new SpillableGroupingHashTable(ctx, keyFields,
+                    comparatorFactories, tpcf, aggregatorFactory, recordDescProvider.getInputRecordDescriptor(
+                            getOperatorId(), 0), recordDescriptors[0],
+                            // Always take one frame for the input records
+                            framesLimit - 1, tableSize);
+            // Create the tuple accessor
+            final FrameTupleAccessor accessor = new FrameTupleAccessor(ctx.getFrameSize(),
+                    recordDescProvider.getInputRecordDescriptor(getOperatorId(), 0));
+            // Create the partial aggregate activity node
+            IOperatorNodePushable op = new AbstractUnaryInputSinkOperatorNodePushable() {
+
+                /**
+                 * Run files
+                 */
+                private LinkedList<RunFileReader> runs;
+
+                @Override
+                public void close() throws HyracksDataException {
+                    if (gTable.getFrameCount() >= 0) {
+                        if (runs.size() <= 0) {
+                            // All in memory
+                            env.set(GROUPTABLES, gTable);
+                        } else {
+                            // flush the memory into the run file.
+                            flushFramesToRun();
+                        }
+                    }
+                    env.set(RUNS, runs);
+                }
+
+                @Override
+                public void flush() throws HyracksDataException {
+
+                }
+
+                /**
+                 * Process the next input buffer.
+                 * The actual insertion is processed in {@link #gTable}. It will
+                 * check whether it is possible to contain the data into the
+                 * main memory or not. If not, it will indicate the operator to
+                 * flush the content of the table into a run file.
+                 */
+                @Override
+                public void nextFrame(ByteBuffer buffer) throws HyracksDataException {
+                    accessor.reset(buffer);
+                    int tupleCount = accessor.getTupleCount();
+                    for (int i = 0; i < tupleCount; i++) {
+                        // If the group table is too large, flush the table into
+                        // a run file.
+                        if (!gTable.insert(accessor, i)) {
+                            flushFramesToRun();
+                            if (!gTable.insert(accessor, i))
+                                throw new HyracksDataException(
+                                "Failed to insert a new buffer into the aggregate operator!");
+                        }
+                    }
+
+                }
+
+                @Override
+                public void open() throws HyracksDataException {
+                    runs = new LinkedList<RunFileReader>();
+                    gTable.reset();
+                }
+
+                /**
+                 * Flush the content of the group table into a run file.
+                 * During the flushing, the hash table will be sorted as first.
+                 * After that, a run file handler is initialized and the hash
+                 * table is flushed into the run file.
+                 * 
+                 * @throws HyracksDataException
+                 */
+                private void flushFramesToRun() throws HyracksDataException {
+                    // Sort the contents of the hash table.
+                    gTable.sortFrames();
+                    FileReference runFile;
+                    try {
+                        runFile = ctx.getJobletContext().createWorkspaceFile(
+                                ExternalHashGroupOperatorDescriptor.class.getSimpleName());
+                    } catch (IOException e) {
+                        throw new HyracksDataException(e);
+                    }
+                    RunFileWriter writer = new RunFileWriter(runFile, ctx.getIOManager());
+                    writer.open();
+                    try {
+                        gTable.flushFrames(writer, true);
+                    } catch (Exception ex) {
+                        throw new HyracksDataException(ex);
+                    } finally {
+                        writer.close();
+                    }
+                    gTable.reset();
+                    runs.add(((RunFileWriter) writer).createReader());
+                    LOGGER.warning("Created run file: " + runFile.getFile().getAbsolutePath());
+                }
+
+            };
+
+            return op;
+        }
+
+        @Override
+        public IOperatorDescriptor getOwner() {
+            return ExternalHashGroupOperatorDescriptor.this;
+        }
+
+    }
+
+    private class MergeActivity extends AbstractActivityNode {
+
+        /**
+         * 
+         */
+        private static final long serialVersionUID = 1L;
+
+        @Override
+        public IOperatorNodePushable createPushRuntime(final IHyracksStageletContext ctx,
+                final IOperatorEnvironment env, IRecordDescriptorProvider recordDescProvider, int partition,
+                int nPartitions) {
+            final IBinaryComparator[] comparators = new IBinaryComparator[comparatorFactories.length];
+            for (int i = 0; i < comparatorFactories.length; ++i) {
+                comparators[i] = comparatorFactories[i].createBinaryComparator();
+            }
+            IOperatorNodePushable op = new AbstractUnaryOutputSourceOperatorNodePushable() {
+                /**
+                 * Input frames, one for each run file.
+                 */
+                private List<ByteBuffer> inFrames;
+
+                /**
+                 * Output frame.
+                 */
+                private ByteBuffer outFrame;
+
+                /**
+                 * List of the run files to be merged
+                 */
+                LinkedList<RunFileReader> runs;
+
+                /**
+                 * Tuple appender for the output frame {@link #outFrame}.
+                 */
+                private FrameTupleAppender outFrameAppender;
+
+                private ISpillableAccumulatingAggregator visitingAggregator;
+                private ArrayTupleBuilder visitingKeyTuple;
+
+                @SuppressWarnings("unchecked")
+                @Override
+                public void initialize() throws HyracksDataException {
+                    runs = (LinkedList<RunFileReader>) env.get(RUNS);
+                    writer.open();
+
+                    try {
+                        if (runs.size() <= 0) {
+                            // If the aggregate results can be fit into
+                            // memory...
+                            SpillableGroupingHashTable gTable = (SpillableGroupingHashTable) env.get(GROUPTABLES);
+                            if (gTable != null) {
+                                gTable.flushFrames(writer, sortOutput);
+                            }
+                            env.set(GROUPTABLES, null);
+                        } else {
+                            // Otherwise, merge the run files into a single file
+                            inFrames = new ArrayList<ByteBuffer>();
+                            outFrame = ctx.allocateFrame();
+                            outFrameAppender = new FrameTupleAppender(ctx.getFrameSize());
+                            outFrameAppender.reset(outFrame, true);
+                            for (int i = 0; i < framesLimit - 1; ++i) {
+                                inFrames.add(ctx.allocateFrame());
+                            }
+                            int passCount = 0;
+                            while (runs.size() > 0) {
+                                passCount++;
+                                try {
+                                    doPass(runs, passCount);
+                                } catch (Exception e) {
+                                    throw new HyracksDataException(e);
+                                }
+                            }
+                        }
+
+                    } finally {
+                        writer.close();
+                    }
+                    env.set(RUNS, null);
+                }
+
+                /**
+                 * Merge the run files once.
+                 * 
+                 * @param runs
+                 * @param passCount
+                 * @throws HyracksDataException
+                 * @throws IOException
+                 */
+                private void doPass(LinkedList<RunFileReader> runs, int passCount) throws HyracksDataException,
+                IOException {
+                    FileReference newRun = null;
+                    IFrameWriter writer = this.writer;
+                    boolean finalPass = false;
+
+                    int[] storedKeys = new int[keyFields.length];
+                    // Get the list of the fields in the stored records.
+                    for (int i = 0; i < keyFields.length; ++i) {
+                        storedKeys[i] = i;
+                    }
+
+                    // Release the space not used
+                    if (runs.size() + 1 <= framesLimit) {
+                        // If there are run files no more than the available
+                        // frame slots...
+                        // No run file to be generated, since the result can be
+                        // directly
+                        // outputted into the output frame for write.
+                        finalPass = true;
+                        for (int i = inFrames.size() - 1; i >= runs.size(); i--) {
+                            inFrames.remove(i);
+                        }
+                    } else {
+                        // Otherwise, a new run file will be created
+                        newRun = ctx.getJobletContext().createWorkspaceFile(
+                                ExternalHashGroupOperatorDescriptor.class.getSimpleName());
+                        writer = new RunFileWriter(newRun, ctx.getIOManager());
+                        writer.open();
+                    }
+                    try {
+                        // Create run file read handler for each input frame
+                        RunFileReader[] runFileReaders = new RunFileReader[inFrames.size()];
+                        // Create input frame accessor
+                        FrameTupleAccessor[] tupleAccessors = new FrameTupleAccessor[inFrames.size()];
+                        Comparator<ReferenceEntry> comparator = createEntryComparator(comparators);
+                        ReferencedPriorityQueue topTuples = new ReferencedPriorityQueue(ctx.getFrameSize(),
+                                recordDescriptors[0], inFrames.size(), comparator);
+                        // For the index of tuples visited in each frame.
+                        int[] tupleIndexes = new int[inFrames.size()];
+                        for (int i = 0; i < inFrames.size(); i++) {
+                            tupleIndexes[i] = 0;
+                            int runIndex = topTuples.peek().getRunid();
+                            runFileReaders[runIndex] = runs.get(runIndex);
+                            runFileReaders[runIndex].open();
+                            // Load the first frame of the file into the main
+                            // memory
+                            if (runFileReaders[runIndex].nextFrame(inFrames.get(runIndex))) {
+                                // initialize the tuple accessor for the frame
+                                tupleAccessors[runIndex] = new FrameTupleAccessor(ctx.getFrameSize(),
+                                        recordDescriptors[0]);
+                                tupleAccessors[runIndex].reset(inFrames.get(runIndex));
+                                setNextTopTuple(runIndex, tupleIndexes, runFileReaders, tupleAccessors, topTuples);
+                            } else {
+                                closeRun(runIndex, runFileReaders, tupleAccessors);
+                            }
+                        }
+                        // Merge
+                        // Get a key holder for the current working
+                        // aggregator keys
+                        visitingAggregator = null;
+                        visitingKeyTuple = null;
+                        // Loop on all run files, and update the key
+                        // holder.
+                        while (!topTuples.areRunsExhausted()) {
+                            // Get the top record
+                            ReferenceEntry top = topTuples.peek();
+                            int tupleIndex = top.getTupleIndex();
+                            int runIndex = topTuples.peek().getRunid();
+                            FrameTupleAccessor fta = top.getAccessor();
+                            if (visitingAggregator == null) {
+                                // Initialize the aggregator
+                                visitingAggregator = aggregatorFactory.createSpillableAggregator(ctx,
+                                        recordDescriptors[0], recordDescriptors[0]);
+                                // Initialize the partial aggregation result
+                                visitingAggregator.initFromPartial(fta, tupleIndex, keyFields);
+                                visitingKeyTuple = new ArrayTupleBuilder(recordDescriptors[0].getFields().length);
+                                for (int i = 0; i < keyFields.length; i++) {
+                                    visitingKeyTuple.addField(fta, tupleIndex, keyFields[i]);
+                                }
+                            } else {
+                                if (compareTupleWithFrame(visitingKeyTuple, fta, tupleIndex, storedKeys, keyFields,
+                                        comparators) == 0) {
+                                    // If the two partial results are on the
+                                    // same key
+                                    visitingAggregator.accumulatePartialResult(fta, tupleIndex, keyFields);
+                                } else {
+                                    // Otherwise, write the partial result back
+                                    // to the output frame
+                                    if (!visitingAggregator.output(outFrameAppender, visitingKeyTuple)) {
+                                        FrameUtils.flushFrame(outFrame, writer);
+                                        outFrameAppender.reset(outFrame, true);
+                                        if (!visitingAggregator.output(outFrameAppender, visitingKeyTuple)) {
+                                            throw new IllegalStateException();
+                                        }
+                                    }
+                                    // Reset the partial aggregation result
+                                    visitingAggregator.initFromPartial(fta, tupleIndex, keyFields);
+                                    visitingKeyTuple.reset();
+                                    for (int i = 0; i < keyFields.length; i++) {
+                                        visitingKeyTuple.addField(fta, tupleIndex, keyFields[i]);
+                                    }
+                                }
+                            }
+                            tupleIndexes[runIndex]++;
+                            setNextTopTuple(runIndex, tupleIndexes, runFileReaders, tupleAccessors, topTuples);
+                        }
+                        // Output the last aggregation result in the frame
+                        if (visitingAggregator != null) {
+                            if (!visitingAggregator.output(outFrameAppender, visitingKeyTuple)) {
+                                FrameUtils.flushFrame(outFrame, writer);
+                                outFrameAppender.reset(outFrame, true);
+                                if (!visitingAggregator.output(outFrameAppender, visitingKeyTuple)) {
+                                    throw new IllegalStateException();
+                                }
+                            }
+                        }
+                        // Output data into run file writer after all tuples
+                        // have been checked
+                        if (outFrameAppender.getTupleCount() > 0) {
+                            FrameUtils.flushFrame(outFrame, writer);
+                            outFrameAppender.reset(outFrame, true);
+                        }
+                        // empty the input frames
+                        runs.subList(0, inFrames.size()).clear();
+                        // insert the new run file into the beginning of the run
+                        // file list
+                        if (!finalPass) {
+                            runs.add(0, ((RunFileWriter) writer).createReader());
+                        }
+                    } catch (Exception ex) {
+                        throw new HyracksDataException(ex);
+                    } finally {
+                        if (!finalPass) {
+                            writer.close();
+                        }
+                    }
+                }
+
+                /**
+                 * Insert the tuple into the priority queue.
+                 * 
+                 * @param runIndex
+                 * @param tupleIndexes
+                 * @param runCursors
+                 * @param tupleAccessors
+                 * @param topTuples
+                 * @throws IOException
+                 */
+                private void setNextTopTuple(int runIndex, int[] tupleIndexes, RunFileReader[] runCursors,
+                        FrameTupleAccessor[] tupleAccessors, ReferencedPriorityQueue topTuples) throws IOException {
+                    boolean exists = hasNextTuple(runIndex, tupleIndexes, runCursors, tupleAccessors);
+                    if (exists) {
+                        topTuples.popAndReplace(tupleAccessors[runIndex], tupleIndexes[runIndex]);
+                    } else {
+                        topTuples.pop();
+                        closeRun(runIndex, runCursors, tupleAccessors);
+                    }
+                }
+
+                /**
+                 * Check whether there are any more tuples to be checked for the
+                 * given run file from the corresponding input frame.
+                 * If the input frame for this run file is exhausted, load a new
+                 * frame of the run file into the input frame.
+                 * 
+                 * @param runIndex
+                 * @param tupleIndexes
+                 * @param runCursors
+                 * @param tupleAccessors
+                 * @return
+                 * @throws IOException
+                 */
+                private boolean hasNextTuple(int runIndex, int[] tupleIndexes, RunFileReader[] runCursors,
+                        FrameTupleAccessor[] tupleAccessors) throws IOException {
+
+                    if (tupleAccessors[runIndex] == null || runCursors[runIndex] == null) {
+                        /*
+                         * Return false if the targeting run file is not
+                         * available, or the frame for the run file is not
+                         * available.
+                         */
+                        return false;
+                    } else if (tupleIndexes[runIndex] >= tupleAccessors[runIndex].getTupleCount()) {
+                        /*
+                         * If all tuples in the targeting frame have been
+                         * checked.
+                         */
+                        ByteBuffer buf = tupleAccessors[runIndex].getBuffer(); // same-as-inFrames.get(runIndex)
+                        // Refill the buffer with contents from the run file.
+                        if (runCursors[runIndex].nextFrame(buf)) {
+                            tupleIndexes[runIndex] = 0;
+                            return hasNextTuple(runIndex, tupleIndexes, runCursors, tupleAccessors);
+                        } else {
+                            return false;
+                        }
+                    } else {
+                        return true;
+                    }
+                }
+
+                /**
+                 * Close the run file, and also the corresponding readers and
+                 * input frame.
+                 * 
+                 * @param index
+                 * @param runCursors
+                 * @param tupleAccessor
+                 * @throws HyracksDataException
+                 */
+                private void closeRun(int index, RunFileReader[] runCursors, IFrameTupleAccessor[] tupleAccessor)
+                throws HyracksDataException {
+                    runCursors[index].close();
+                    runCursors[index] = null;
+                    tupleAccessor[index] = null;
+                }
+
+                /**
+                 * Compare a tuple (in the format of a {@link ArrayTupleBuilder} ) with a record in a frame (in the format of a {@link FrameTupleAccessor}). Comparing keys and comparators
+                 * are specified for this method as inputs.
+                 * 
+                 * @param tuple0
+                 * @param accessor1
+                 * @param tIndex1
+                 * @param keys0
+                 * @param keys1
+                 * @param comparators
+                 * @return
+                 */
+                private int compareTupleWithFrame(ArrayTupleBuilder tuple0, FrameTupleAccessor accessor1, int tIndex1,
+                        int[] keys0, int[] keys1, IBinaryComparator[] comparators) {
+                    int tStart1 = accessor1.getTupleStartOffset(tIndex1);
+                    int fStartOffset1 = accessor1.getFieldSlotsLength() + tStart1;
+
+                    for (int i = 0; i < keys0.length; ++i) {
+                        int fIdx0 = keys0[i];
+                        int fStart0 = (i == 0 ? 0 : tuple0.getFieldEndOffsets()[fIdx0 - 1]);
+                        int fEnd0 = tuple0.getFieldEndOffsets()[fIdx0];
+                        int fLen0 = fEnd0 - fStart0;
+
+                        int fIdx1 = keys1[i];
+                        int fStart1 = accessor1.getFieldStartOffset(tIndex1, fIdx1);
+                        int fEnd1 = accessor1.getFieldEndOffset(tIndex1, fIdx1);
+                        int fLen1 = fEnd1 - fStart1;
+
+                        int c = comparators[i].compare(tuple0.getByteArray(), fStart0, fLen0, accessor1.getBuffer()
+                                .array(), fStart1 + fStartOffset1, fLen1);
+                        if (c != 0) {
+                            return c;
+                        }
+                    }
+                    return 0;
+                }
+            };
+            return op;
+        }
+
+        @Override
+        public IOperatorDescriptor getOwner() {
+            return ExternalHashGroupOperatorDescriptor.this;
+        }
+
+        private Comparator<ReferenceEntry> createEntryComparator(final IBinaryComparator[] comparators) {
+            return new Comparator<ReferenceEntry>() {
+                public int compare(ReferenceEntry tp1, ReferenceEntry tp2) {
+                    FrameTupleAccessor fta1 = (FrameTupleAccessor) tp1.getAccessor();
+                    FrameTupleAccessor fta2 = (FrameTupleAccessor) tp2.getAccessor();
+                    int j1 = (Integer) tp1.getTupleIndex();
+                    int j2 = (Integer) tp2.getTupleIndex();
+                    byte[] b1 = fta1.getBuffer().array();
+                    byte[] b2 = fta2.getBuffer().array();
+                    for (int f = 0; f < keyFields.length; ++f) {
+                        int fIdx = keyFields[f];
+                        int s1 = fta1.getTupleStartOffset(j1) + fta1.getFieldSlotsLength()
+                        + fta1.getFieldStartOffset(j1, fIdx);
+                        int l1 = fta1.getFieldEndOffset(j1, fIdx) - fta1.getFieldStartOffset(j1, fIdx);
+                        int s2 = fta2.getTupleStartOffset(j2) + fta2.getFieldSlotsLength()
+                        + fta2.getFieldStartOffset(j2, fIdx);
+                        int l2 = fta2.getFieldEndOffset(j2, fIdx) - fta2.getFieldStartOffset(j2, fIdx);
+                        int c = comparators[f].compare(b1, s1, l1, b2, s2, l2);
+                        if (c != 0) {
+                            return c;
+                        }
+                    }
+                    return 0;
+                }
+            };
+        }
+
+    }
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java
index 0d269e7..3fc7d79 100644
--- a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java
@@ -23,4 +23,7 @@
 public interface IAccumulatingAggregatorFactory extends Serializable {
     IAccumulatingAggregator createAggregator(IHyracksStageletContext ctx, RecordDescriptor inRecordDesc,
             RecordDescriptor outRecordDescriptor) throws HyracksDataException;
+
+    ISpillableAccumulatingAggregator createSpillableAggregator(IHyracksStageletContext ctx,
+            RecordDescriptor inRecordDesc, RecordDescriptor outRecordDescriptor) throws HyracksDataException;
 }
\ No newline at end of file
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/ISpillableAccumulatingAggregator.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/ISpillableAccumulatingAggregator.java
new file mode 100644
index 0000000..59c69eb
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/ISpillableAccumulatingAggregator.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.group;
+
+import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.ArrayTupleBuilder;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAppender;
+
+/**
+ * An spillable version of the {@link IAccumulatingAggregator} supporting
+ * external aggregation.
+ */
+public interface ISpillableAccumulatingAggregator extends IAccumulatingAggregator {
+
+    public void initFromPartial(IFrameTupleAccessor accessor, int tIndex, int[] keyFieldIndexes)
+    throws HyracksDataException;
+
+    /**
+     * @param accessor
+     * @param tIndex
+     * @throws HyracksDataException
+     */
+    public void accumulatePartialResult(IFrameTupleAccessor accessor, int tIndex, int[] keyFieldIndexes)
+    throws HyracksDataException;
+
+    public boolean output(FrameTupleAppender appender, ArrayTupleBuilder tbder) throws HyracksDataException;
+}
diff --git a/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/SpillableGroupingHashTable.java b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/SpillableGroupingHashTable.java
new file mode 100644
index 0000000..b3b9f24
--- /dev/null
+++ b/hyracks/hyracks-dataflow-std/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/SpillableGroupingHashTable.java
@@ -0,0 +1,569 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.dataflow.std.group;
+
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import edu.uci.ics.hyracks.api.comm.IFrameWriter;
+import edu.uci.ics.hyracks.api.context.IHyracksStageletContext;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.dataflow.value.ITuplePartitionComputer;
+import edu.uci.ics.hyracks.api.dataflow.value.ITuplePartitionComputerFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
+import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAccessor;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTupleAppender;
+import edu.uci.ics.hyracks.dataflow.common.comm.io.FrameTuplePairComparator;
+import edu.uci.ics.hyracks.dataflow.common.comm.util.FrameUtils;
+
+/**
+ * An in-mem hash table for spillable grouping operations.
+ * A table of {@link #Link}s are maintained in this object, and each row
+ * of this table represents a hash partition.
+ */
+public class SpillableGroupingHashTable {
+
+    /**
+     * Context.
+     */
+    private final IHyracksStageletContext ctx;
+
+    /**
+     * Columns for group-by
+     */
+    private final int[] fields;
+
+    /**
+     * Key fields of records in the hash table (starting from 0
+     * to the number of the key fields).
+     * This is different from the key fields in the input records,
+     * since these fields are extracted when being inserted into
+     * the hash table.
+     */
+    private final int[] storedKeys;
+
+    /**
+     * Comparators: one for each column in {@link #groupFields}
+     */
+    private final IBinaryComparator[] comparators;
+
+    /**
+     * Record descriptor for the input tuple.
+     */
+    private final RecordDescriptor inRecordDescriptor;
+
+    /**
+     * Record descriptor for the partial aggregation result.
+     */
+    private final RecordDescriptor outputRecordDescriptor;
+
+    /**
+     * Accumulators in the main memory.
+     */
+    private ISpillableAccumulatingAggregator[] accumulators;
+
+    /**
+     * The hashing group table containing pointers to aggregators and also the
+     * corresponding key tuples. So for each entry, there will be three integer
+     * fields:
+     * 1. The frame index containing the key tuple; 2. The tuple index inside of
+     * the frame for the key tuple; 3. The index of the aggregator.
+     * Note that each link in the table is a partition for the input records. Multiple
+     * records in the same partition based on the {@link #tpc} are stored as
+     * pointers.
+     */
+    private final Link[] table;
+
+    /**
+     * Number of accumulators.
+     */
+    private int accumulatorSize = 0;
+
+    /**
+     * Factory for the aggregators.
+     */
+    private final IAccumulatingAggregatorFactory aggregatorFactory;
+
+    private final List<ByteBuffer> frames;
+
+    private final ByteBuffer outFrame;
+
+    /**
+     * Frame appender for output frames in {@link #frames}.
+     */
+    private final FrameTupleAppender appender;
+
+    /**
+     * The count of used frames in the table.
+     * Note that this cannot be replaced by {@link #frames} since frames will
+     * not be removed after being created.
+     */
+    private int dataFrameCount;
+
+    /**
+     * Pointers for the sorted aggregators
+     */
+    private int[] tPointers;
+
+    private static final int INIT_ACCUMULATORS_SIZE = 8;
+
+    /**
+     * The maximum number of frames available for this hashing group table.
+     */
+    private final int framesLimit;
+
+    private final FrameTuplePairComparator ftpc;
+
+    /**
+     * A partition computer to partition the hashing group table.
+     */
+    private final ITuplePartitionComputer tpc;
+
+    /**
+     * Accessors for the tuples. Two accessors are necessary during the sort.
+     */
+    private final FrameTupleAccessor storedKeysAccessor1;
+    private final FrameTupleAccessor storedKeysAccessor2;
+
+    /**
+     * Create a spillable grouping hash table.
+     * 
+     * @param ctx
+     *            The context of the job.
+     * @param fields
+     *            Fields of keys for grouping.
+     * @param comparatorFactories
+     *            The comparators.
+     * @param tpcf
+     *            The partitioners. These are used to partition the incoming records into proper partition of the hash table.
+     * @param aggregatorFactory
+     *            The aggregators.
+     * @param inRecordDescriptor
+     *            Record descriptor for input data.
+     * @param outputRecordDescriptor
+     *            Record descriptor for output data.
+     * @param framesLimit
+     *            The maximum number of frames usable in the memory for hash table.
+     * @param tableSize
+     *            The size of the table, which specified the number of partitions of the table.
+     */
+    public SpillableGroupingHashTable(IHyracksStageletContext ctx, int[] fields,
+            IBinaryComparatorFactory[] comparatorFactories, ITuplePartitionComputerFactory tpcf,
+            IAccumulatingAggregatorFactory aggregatorFactory, RecordDescriptor inRecordDescriptor,
+            RecordDescriptor outputRecordDescriptor, int framesLimit, int tableSize) {
+        this.ctx = ctx;
+        this.fields = fields;
+
+        storedKeys = new int[fields.length];
+        @SuppressWarnings("rawtypes")
+        ISerializerDeserializer[] storedKeySerDeser = new ISerializerDeserializer[fields.length];
+
+        // Note that after storing a record into the hash table, the index for the fields should
+        // be updated. Here we assume that all these key fields are written at the beginning of 
+        // the record, so their index should start from 0 and end at the length of the key fields.
+        for (int i = 0; i < fields.length; ++i) {
+            storedKeys[i] = i;
+            storedKeySerDeser[i] = inRecordDescriptor.getFields()[fields[i]];
+        }
+        RecordDescriptor storedKeysRecordDescriptor = new RecordDescriptor(storedKeySerDeser);
+        storedKeysAccessor1 = new FrameTupleAccessor(ctx.getFrameSize(), storedKeysRecordDescriptor);
+        storedKeysAccessor2 = new FrameTupleAccessor(ctx.getFrameSize(), storedKeysRecordDescriptor);
+
+        comparators = new IBinaryComparator[comparatorFactories.length];
+        for (int i = 0; i < comparatorFactories.length; ++i) {
+            comparators[i] = comparatorFactories[i].createBinaryComparator();
+        }
+
+        this.table = new Link[tableSize];
+
+        this.aggregatorFactory = aggregatorFactory;
+        accumulators = new ISpillableAccumulatingAggregator[INIT_ACCUMULATORS_SIZE];
+
+        this.framesLimit = framesLimit;
+
+        // Tuple pair comparator
+        ftpc = new FrameTuplePairComparator(fields, storedKeys, comparators);
+
+        // Partitioner
+        tpc = tpcf.createPartitioner();
+
+        this.inRecordDescriptor = inRecordDescriptor;
+        this.outputRecordDescriptor = outputRecordDescriptor;
+        frames = new ArrayList<ByteBuffer>();
+        appender = new FrameTupleAppender(ctx.getFrameSize());
+
+        dataFrameCount = -1;
+
+        outFrame = ctx.allocateFrame();
+    }
+
+    public void reset() {
+        dataFrameCount = -1;
+        tPointers = null;
+        // Reset the grouping hash table
+        for (int i = 0; i < table.length; i++) {
+            table[i] = new Link();
+        }
+    }
+
+    public int getFrameCount() {
+        return dataFrameCount;
+    }
+
+    /**
+     * How to define pointers for the partial aggregation
+     * 
+     * @return
+     */
+    public int[] getTPointers() {
+        return tPointers;
+    }
+
+    /**
+     * Redefine the number of fields in the pointer.
+     * Only two pointers are necessary for external grouping: one is to the
+     * index of the hash table, and the other is to the row index inside of the
+     * hash table.
+     * 
+     * @return
+     */
+    public int getPtrFields() {
+        return 2;
+    }
+
+    public List<ByteBuffer> getFrames() {
+        return frames;
+    }
+
+    /**
+     * Set the working frame to the next available frame in the
+     * frame list. There are two cases:<br>
+     * 1) If the next frame is not initialized, allocate
+     * a new frame.
+     * 2) When frames are already created, they are recycled.
+     * 
+     * @return Whether a new frame is added successfully.
+     */
+    private boolean nextAvailableFrame() {
+        // Return false if the number of frames is equal to the limit.
+        if (dataFrameCount + 1 >= framesLimit)
+            return false;
+
+        if (frames.size() < framesLimit) {
+            // Insert a new frame
+            ByteBuffer frame = ctx.allocateFrame();
+            frame.position(0);
+            frame.limit(frame.capacity());
+            frames.add(frame);
+            appender.reset(frame, true);
+            dataFrameCount++;
+        } else {
+            // Reuse an old frame
+            dataFrameCount++;
+            ByteBuffer frame = frames.get(dataFrameCount);
+            frame.position(0);
+            frame.limit(frame.capacity());
+            appender.reset(frame, true);
+        }
+        return true;
+    }
+
+    /**
+     * Insert a new record from the input frame.
+     * 
+     * @param accessor
+     * @param tIndex
+     * @return
+     * @throws HyracksDataException
+     */
+    public boolean insert(FrameTupleAccessor accessor, int tIndex) throws HyracksDataException {
+        if (dataFrameCount < 0)
+            nextAvailableFrame();
+        // Get the partition for the inserting tuple
+        int entry = tpc.partition(accessor, tIndex, table.length);
+        Link link = table[entry];
+        if (link == null) {
+            link = table[entry] = new Link();
+        }
+        // Find the corresponding aggregator from existing aggregators
+        ISpillableAccumulatingAggregator aggregator = null;
+        for (int i = 0; i < link.size; i += 3) {
+            int sbIndex = link.pointers[i];
+            int stIndex = link.pointers[i + 1];
+            int saIndex = link.pointers[i + 2];
+            storedKeysAccessor1.reset(frames.get(sbIndex));
+            int c = ftpc.compare(accessor, tIndex, storedKeysAccessor1, stIndex);
+            if (c == 0) {
+                aggregator = accumulators[saIndex];
+                break;
+            }
+        }
+        // Do insert
+        if (aggregator == null) {
+            // Did not find the aggregator. Insert a new aggregator entry
+            if (!appender.appendProjection(accessor, tIndex, fields)) {
+                if (!nextAvailableFrame()) {
+                    // If buffer is full, return false to trigger a run file
+                    // write
+                    return false;
+                } else {
+                    // Try to do insert after adding a new frame.
+                    if (!appender.appendProjection(accessor, tIndex, fields)) {
+                        throw new IllegalStateException();
+                    }
+                }
+            }
+            int sbIndex = dataFrameCount;
+            int stIndex = appender.getTupleCount() - 1;
+            if (accumulatorSize >= accumulators.length) {
+                accumulators = Arrays.copyOf(accumulators, accumulators.length * 2);
+            }
+            int saIndex = accumulatorSize++;
+            aggregator = accumulators[saIndex] = aggregatorFactory.createSpillableAggregator(ctx, inRecordDescriptor,
+                    outputRecordDescriptor);
+            aggregator.init(accessor, tIndex);
+            link.add(sbIndex, stIndex, saIndex);
+        }
+        aggregator.accumulate(accessor, tIndex);
+        return true;
+    }
+
+    /**
+     * Sort partial results
+     */
+    public void sortFrames() {
+        int totalTCount = 0;
+        // Get the number of records
+        for (int i = 0; i < table.length; i++) {
+            if (table[i] == null)
+                continue;
+            totalTCount += table[i].size / 3;
+        }
+        // Start sorting:
+        /*
+         * Based on the data structure for the partial aggregates, the
+         * pointers should be initialized.
+         */
+        tPointers = new int[totalTCount * getPtrFields()];
+        // Initialize pointers
+        int ptr = 0;
+        // Maintain two pointers to each entry of the hashing group table
+        for (int i = 0; i < table.length; i++) {
+            if (table[i] == null)
+                continue;
+            for (int j = 0; j < table[i].size; j = j + 3) {
+                tPointers[ptr * getPtrFields()] = i;
+                tPointers[ptr * getPtrFields() + 1] = j;
+                ptr++;
+            }
+        }
+        // Sort using quick sort
+        if (tPointers.length > 0) {
+            sort(tPointers, 0, totalTCount);
+        }
+    }
+
+    /**
+     * @param writer
+     * @throws HyracksDataException
+     */
+    public void flushFrames(IFrameWriter writer, boolean sorted) throws HyracksDataException {
+        FrameTupleAppender appender = new FrameTupleAppender(ctx.getFrameSize());
+
+        ISpillableAccumulatingAggregator aggregator = null;
+        writer.open();
+        appender.reset(outFrame, true);
+        if (sorted) {
+            sortFrames();
+        }
+        if (tPointers == null) {
+            // Not sorted
+            for (int i = 0; i < table.length; ++i) {
+                Link link = table[i];
+                if (link != null) {
+                    for (int j = 0; j < link.size; j += 3) {
+                        int bIndex = link.pointers[j];
+                        int tIndex = link.pointers[j + 1];
+                        int aIndex = link.pointers[j + 2];
+                        ByteBuffer keyBuffer = frames.get(bIndex);
+                        storedKeysAccessor1.reset(keyBuffer);
+                        aggregator = accumulators[aIndex];
+                        while (!aggregator.output(appender, storedKeysAccessor1, tIndex, storedKeys)) {
+                            FrameUtils.flushFrame(outFrame, writer);
+                            appender.reset(outFrame, true);
+                        }
+                    }
+                }
+            }
+            if (appender.getTupleCount() != 0) {
+                FrameUtils.flushFrame(outFrame, writer);
+            }
+            return;
+        }
+        int n = tPointers.length / getPtrFields();
+        for (int ptr = 0; ptr < n; ptr++) {
+            int tableIndex = tPointers[ptr * 2];
+            int rowIndex = tPointers[ptr * 2 + 1];
+            int frameIndex = table[tableIndex].pointers[rowIndex];
+            int tupleIndex = table[tableIndex].pointers[rowIndex + 1];
+            int aggregatorIndex = table[tableIndex].pointers[rowIndex + 2];
+            // Get the frame containing the value
+            ByteBuffer buffer = frames.get(frameIndex);
+            storedKeysAccessor1.reset(buffer);
+
+            // Get the aggregator
+            aggregator = accumulators[aggregatorIndex];
+            // Insert
+            if (!aggregator.output(appender, storedKeysAccessor1, tupleIndex, fields)) {
+                FrameUtils.flushFrame(outFrame, writer);
+                appender.reset(outFrame, true);
+                if (!aggregator.output(appender, storedKeysAccessor1, tupleIndex, fields)) {
+                    throw new IllegalStateException();
+                } else {
+                    accumulators[aggregatorIndex] = null;
+                }
+            } else {
+                accumulators[aggregatorIndex] = null;
+            }
+        }
+        if (appender.getTupleCount() > 0) {
+            FrameUtils.flushFrame(outFrame, writer);
+        }
+    }
+
+    private void sort(int[] tPointers, int offset, int length) {
+        int m = offset + (length >> 1);
+        // Get table index
+        int mTable = tPointers[m * 2];
+        int mRow = tPointers[m * 2 + 1];
+        // Get frame and tuple index
+        int mFrame = table[mTable].pointers[mRow];
+        int mTuple = table[mTable].pointers[mRow + 1];
+        storedKeysAccessor1.reset(frames.get(mFrame));
+
+        int a = offset;
+        int b = a;
+        int c = offset + length - 1;
+        int d = c;
+        while (true) {
+            while (b <= c) {
+                int bTable = tPointers[b * 2];
+                int bRow = tPointers[b * 2 + 1];
+                int bFrame = table[bTable].pointers[bRow];
+                int bTuple = table[bTable].pointers[bRow + 1];
+                storedKeysAccessor2.reset(frames.get(bFrame));
+                int cmp = ftpc.compare(storedKeysAccessor2, bTuple, storedKeysAccessor1, mTuple);
+                // int cmp = compare(tPointers, b, mi, mj, mv);
+                if (cmp > 0) {
+                    break;
+                }
+                if (cmp == 0) {
+                    swap(tPointers, a++, b);
+                }
+                ++b;
+            }
+            while (c >= b) {
+                int cTable = tPointers[c * 2];
+                int cRow = tPointers[c * 2 + 1];
+                int cFrame = table[cTable].pointers[cRow];
+                int cTuple = table[cTable].pointers[cRow + 1];
+                storedKeysAccessor2.reset(frames.get(cFrame));
+                int cmp = ftpc.compare(storedKeysAccessor2, cTuple, storedKeysAccessor1, mTuple);
+                // int cmp = compare(tPointers, c, mi, mj, mv);
+                if (cmp < 0) {
+                    break;
+                }
+                if (cmp == 0) {
+                    swap(tPointers, c, d--);
+                }
+                --c;
+            }
+            if (b > c)
+                break;
+            swap(tPointers, b++, c--);
+        }
+
+        int s;
+        int n = offset + length;
+        s = Math.min(a - offset, b - a);
+        vecswap(tPointers, offset, b - s, s);
+        s = Math.min(d - c, n - d - 1);
+        vecswap(tPointers, b, n - s, s);
+
+        if ((s = b - a) > 1) {
+            sort(tPointers, offset, s);
+        }
+        if ((s = d - c) > 1) {
+            sort(tPointers, n - s, s);
+        }
+    }
+
+    private void swap(int x[], int a, int b) {
+        for (int i = 0; i < 2; ++i) {
+            int t = x[a * 2 + i];
+            x[a * 2 + i] = x[b * 2 + i];
+            x[b * 2 + i] = t;
+        }
+    }
+
+    private void vecswap(int x[], int a, int b, int n) {
+        for (int i = 0; i < n; i++, a++, b++) {
+            swap(x, a, b);
+        }
+    }
+
+    /**
+     * The pointers in the link store 3 int values for each entry in the
+     * hashtable: (bufferIdx, tIndex, accumulatorIdx).
+     * 
+     * @author vinayakb
+     */
+    private static class Link {
+        private static final int INIT_POINTERS_SIZE = 9;
+
+        int[] pointers;
+        int size;
+
+        Link() {
+            pointers = new int[INIT_POINTERS_SIZE];
+            size = 0;
+        }
+
+        void add(int bufferIdx, int tIndex, int accumulatorIdx) {
+            while (size + 3 > pointers.length) {
+                pointers = Arrays.copyOf(pointers, pointers.length * 2);
+            }
+            pointers[size++] = bufferIdx;
+            pointers[size++] = tIndex;
+            pointers[size++] = accumulatorIdx;
+        }
+
+        public String toString() {
+            StringBuilder sb = new StringBuilder();
+            sb.append("[Size=" + size + "]");
+            for (int i = 0; i < pointers.length; i = i + 3) {
+                sb.append(pointers[i] + ",");
+                sb.append(pointers[i + 1] + ",");
+                sb.append(pointers[i + 2] + "; ");
+            }
+            return sb.toString();
+        }
+    }
+}
diff --git a/hyracks/hyracks-examples/hyracks-integration-tests/data/wordcount.tsv b/hyracks/hyracks-examples/hyracks-integration-tests/data/wordcount.tsv
new file mode 100644
index 0000000..654eefb
--- /dev/null
+++ b/hyracks/hyracks-examples/hyracks-integration-tests/data/wordcount.tsv
@@ -0,0 +1,17217 @@
+a,4776
+a'lee,1
+a'low,1
+a'most,1
+a'ready,2
+a'shiver,1
+a'top,2
+aback,2
+abaft,2
+abandon,3
+abandoned,7
+abandonedly,1
+abandonment,2
+abased,2
+abasement,1
+abashed,2
+abate,1
+abated,3
+abatement,1
+abating,2
+abbreviate,1
+abbreviation,1
+abeam,1
+abed,2
+abednego,1
+abel,1
+abhorred,3
+abhorrence,1
+abhorrent,1
+abhorring,1
+abide,4
+abided,1
+abiding,2
+ability,1
+abjectly,1
+abjectus,1
+able,9
+ablutions,2
+aboard,21
+abode,2
+abominable,3
+abominate,1
+abominated,1
+abomination,1
+aboriginal,4
+aboriginally,1
+aboriginalness,1
+abortion,1
+abortions,1
+abound,3
+abounded,1
+abounding,9
+aboundingly,1
+about,318
+above,58
+abraham,3
+abreast,3
+abridged,2
+abroad,6
+abruptly,2
+absence,5
+absent,10
+absolute,4
+absolutely,3
+absorbed,4
+absorbing,2
+absorbingly,1
+abstained,1
+abstemious,1
+abstinence,1
+abstract,1
+abstracted,1
+abstraction,1
+absurd,3
+absurdly,1
+abundance,4
+abundant,3
+abundantly,2
+academy,1
+accelerate,3
+accelerated,1
+accelerating,2
+accept,2
+accepted,2
+accepting,1
+access,10
+accessed,1
+accessible,2
+accessory,2
+accident,6
+accidental,1
+accidentally,4
+accidents,6
+accommodate,2
+accommodated,1
+accommodation,1
+accompanied,6
+accompanies,1
+accompaniments,3
+accompany,2
+accompanying,5
+accomplish,2
+accomplished,7
+accomplishing,1
+accomplishment,1
+accordance,5
+according,26
+accordingly,8
+accosted,4
+account,34
+accountable,1
+accountants,1
+accounted,9
+accounting,1
+accounts,9
+accumulate,1
+accumulated,3
+accumulating,1
+accuracy,3
+accurate,1
+accurately,2
+accursed,10
+accustomed,5
+acerbities,1
+ache,4
+ached,1
+achieve,1
+achieved,4
+achilles,1
+acknowledges,1
+acknowledging,1
+acquaintance,2
+acquaintances,2
+acquainted,4
+acquiesce,1
+acquiesced,1
+acquiescence,1
+acquired,2
+acre,2
+acres,3
+acridness,1
+across,31
+act,30
+acted,3
+actest,1
+action,9
+actions,2
+actium,1
+active,10
+actively,3
+activity,9
+acts,3
+actual,4
+actually,16
+actuated,1
+acushnet,1
+acute,1
+acuteness,1
+ad,12
+adam,6
+adamite,3
+adapted,4
+add,6
+added,25
+adding,3
+addition,3
+additional,16
+additions,1
+address,5
+addressed,7
+addresses,1
+addressing,4
+adds,1
+adelaide,1
+adequate,2
+adequately,7
+adhering,4
+adhesiveness,1
+adieu,5
+adieux,1
+adios,1
+adjacent,2
+adjoining,2
+adjust,1
+adjusting,1
+admeasurement,1
+admeasurements,2
+administered,1
+administering,1
+admirable,5
+admirably,2
+admiral,4
+admirals,3
+admire,3
+admirer,1
+admirers,1
+admit,8
+admits,3
+admitted,4
+admitting,2
+admonish,1
+admonished,2
+admonishing,1
+admonitions,1
+admonitory,1
+ado,3
+adolescence,1
+adopt,1
+adopted,2
+adopting,1
+adoption,1
+adoration,2
+adoring,1
+adorned,1
+adorning,1
+adornment,1
+adown,1
+adrift,6
+adroit,1
+adroitly,1
+adroop,2
+adult,2
+adulterer,1
+advance,22
+advanced,11
+advancement,1
+advances,5
+advancing,20
+advantage,5
+advantages,1
+advent,1
+adventure,5
+adventures,6
+adventurous,4
+adventurously,1
+adverse,1
+advert,1
+advertised,1
+advice,6
+advised,1
+advocate,3
+aerated,1
+aesthetically,1
+aesthetics,1
+afar,5
+affair,17
+affairs,6
+affect,4
+affected,8
+affecting,1
+affection,3
+affectionate,4
+affectionately,1
+affghanistan,1
+affidavit,2
+affinities,1
+affirm,1
+affirmative,1
+affirms,1
+affixed,1
+afflicted,1
+afflictions,1
+affluent,1
+afford,9
+afforded,5
+affording,2
+affords,2
+affright,2
+affrighted,6
+affrights,2
+affronted,1
+afire,2
+afloat,12
+afoam,1
+afore,5
+aforesaid,1
+aforethought,2
+afoul,1
+afraid,15
+afresh,3
+afric,2
+africa,8
+african,3
+africans,1
+aft,32
+after,270
+afternoon,10
+afternoons,1
+afterwards,25
+again,263
+againe,1
+against,135
+agassiz,1
+age,21
+aged,6
+agencies,4
+agency,3
+agent,9
+agents,3
+ages,15
+aggravate,1
+aggregate,3
+aggregated,2
+aggregation,1
+aggregations,1
+aggrieved,1
+aghast,4
+agile,1
+agitated,4
+aglow,2
+ago,36
+agonies,1
+agonized,2
+agonizing,3
+agonizingly,2
+agony,7
+agrarian,1
+agree,11
+agreeable,1
+agreed,4
+agreement,18
+agrees,1
+aground,1
+ague,1
+ah,23
+ahab,511
+ahabs,1
+ahasuerus,2
+ahaz,1
+ahead,27
+ahoy,8
+aid,1
+aides,1
+ails,1
+aim,3
+aimed,1
+aimlessly,1
+ain't,21
+aint,3
+air,143
+airley,2
+airth,2
+aisle,1
+ajar,1
+ak,1
+akin,4
+alabama,6
+aladdin,1
+alarm,8
+alarmed,7
+alarms,2
+alas,10
+alb,1
+albatross,9
+albatrosses,1
+albemarle,1
+albert,1
+albicore,1
+albino,3
+alcoves,2
+aldermen,1
+aldrovandi,1
+aldrovandus,1
+ale,4
+aleak,1
+alert,2
+alewives,1
+alexander,3
+alexanders,1
+alfred,2
+algerine,2
+algiers,1
+alien,5
+aliens,1
+alights,1
+alike,11
+aliment,1
+alive,27
+all,1543
+allay,1
+allaying,1
+alleged,4
+alleghanian,1
+alleghanies,1
+allegiance,1
+allegorical,1
+allegory,1
+alley,1
+alleys,1
+allies,4
+allotted,1
+allow,4
+allowance,2
+allowances,1
+allowed,6
+allowing,2
+allude,2
+alluded,6
+alluding,2
+allured,3
+allurements,1
+allures,2
+alluring,2
+alluringly,1
+allurings,1
+allusion,5
+allusions,7
+almanac,2
+almanack,1
+almighty,3
+almost,197
+alms,2
+aloft,62
+alone,42
+along,110
+alongside,27
+aloof,1
+aloud,3
+alow,3
+alpacas,1
+alpine,1
+alps,3
+already,33
+also,93
+altar,4
+alter,2
+alteration,1
+altered,3
+altering,4
+alternate,2
+alternately,3
+alternating,4
+although,2
+altitude,3
+altitudes,2
+altogether,29
+always,80
+am,89
+amain,1
+amaze,1
+amazement,6
+amazing,6
+amazingly,2
+amber,5
+ambergriese,1
+ambergris,13
+ambiguous,3
+ambition,3
+ambitious,3
+amelia,2
+amen,1
+amend,1
+america,12
+american,34
+americans,6
+americas,1
+amid,16
+amidst,1
+amittai,1
+among,167
+amongst,1
+amorous,1
+amount,6
+amounted,1
+amounts,1
+amours,2
+amphibious,1
+amphitheatrical,1
+ample,3
+amplified,2
+amplify,1
+amputate,1
+amputated,1
+amputating,1
+amputation,1
+amputations,1
+amsterdam,3
+amuck,1
+amusing,1
+an,600
+anacharsis,1
+anaconda,2
+anacondas,1
+anak,1
+analogical,1
+analogies,1
+analogous,2
+analogy,2
+analyse,1
+analysed,1
+analysis,1
+analytic,1
+anathemas,1
+anatomical,5
+anatomist,1
+anatomy,4
+ancestors,1
+ancestress,1
+ancestry,2
+anchor,21
+anchored,5
+anchors,7
+ancient,28
+ancientest,1
+and,6502
+andes,7
+andirons,1
+andrew,1
+andromeda,4
+anew,5
+angel,7
+angelo,1
+angels,9
+anger,3
+angle,7
+angles,3
+anglo,1
+angrily,1
+angry,1
+anguish,8
+angular,3
+angularly,1
+animal,17
+animals,5
+animate,1
+animated,7
+animating,1
+animation,1
+animosity,1
+ankers,2
+ankles,2
+annals,3
+annawon,1
+anne,2
+annihilated,3
+annihilating,1
+annihilation,3
+anno,1
+announced,6
+announcement,4
+announces,1
+announcing,5
+annual,3
+annually,1
+annuitants,1
+annus,1
+anoint,2
+anointed,2
+anointing,2
+anoints,1
+anomalous,2
+anomalously,2
+anomaly,2
+anon,9
+anonymous,2
+another,115
+answer,25
+answered,22
+answers,3
+ant,3
+antagonistic,1
+antarctic,5
+antecedent,1
+antediluvian,3
+antelope,1
+antemosaic,1
+anti,1
+antichronical,2
+anticipated,2
+anticipatingly,2
+anticipation,2
+anticipative,1
+antics,1
+antidote,1
+antilles,3
+antiochus,1
+antique,5
+antiquities,2
+antiquity,5
+antlered,1
+antlers,1
+antony,1
+ants,1
+antwerp,1
+anus,1
+anvil,8
+anxieties,1
+anxiety,3
+anxious,9
+any,364
+anybody,10
+anyhow,2
+anyone,6
+anything,45
+anyway,1
+anyways,2
+anywhere,16
+aorta,1
+apart,15
+apartment,6
+ape,2
+apeak,1
+apertures,1
+apex,2
+apollo,1
+apology,1
+apoplectic,1
+apoplexy,3
+apostolic,2
+apothecary,3
+apotheosis,1
+appal,3
+appalled,3
+appalling,10
+appallingly,1
+appals,2
+apparatus,1
+apparel,1
+apparelled,2
+apparent,4
+apparently,9
+apparition,9
+appeal,1
+appeals,2
+appear,7
+appearance,11
+appearances,4
+appeared,10
+appearing,4
+appears,8
+appellation,3
+appellations,1
+appellative,2
+append,1
+appendage,1
+appetite,3
+appetites,3
+apple,4
+appliance,1
+applicable,6
+application,6
+applied,8
+applies,3
+apply,3
+applying,1
+appoint,1
+appointed,3
+appointments,1
+apportioned,1
+appreciative,1
+apprehension,5
+apprehensions,3
+apprehensiveness,4
+apprise,1
+apprised,4
+approach,6
+approached,2
+approaches,1
+approaching,10
+appropriate,1
+appropriated,1
+approval,1
+approve,1
+approved,1
+approving,1
+approvingly,1
+approximate,1
+apricot,1
+april,3
+apron,1
+apt,7
+aptitude,1
+aptitudes,1
+aquarius,2
+arbitrary,1
+arboring,1
+arbours,1
+arc,2
+arch,6
+archaeological,1
+archaeologists,1
+archangel,8
+archangelic,2
+archangelical,1
+archangels,1
+archbishop,1
+archbishopric,1
+arched,11
+archer,2
+arches,2
+archiepiscopacy,1
+arching,1
+archipelagoes,6
+architect,2
+architects,2
+architecture,1
+archive,13
+archives,1
+archy,5
+arctic,7
+ardour,2
+are,619
+area,4
+arethusa,1
+argo,1
+argosy,2
+argue,3
+argued,4
+arguing,1
+argument,7
+arguments,2
+arid,2
+aries,3
+aright,5
+arion,1
+arise,3
+arisen,2
+arises,1
+arising,4
+aristotle,2
+arithmetic,2
+ark,8
+arkansas,1
+arkite,1
+arm,88
+arm'd,1
+armada,1
+armed,15
+armies,4
+armor,2
+arms,37
+army,2
+arnold,1
+aroma,1
+aromas,1
+aromatic,3
+aroostook,1
+arose,3
+around,38
+arpens,1
+arrah,1
+arrange,1
+arranged,1
+arrangement,3
+arranging,1
+arrant,1
+arrantest,1
+array,4
+arrayed,2
+arrested,3
+arrival,5
+arrive,5
+arrived,14
+arrives,1
+arriving,2
+arrogance,1
+arrow,4
+arrows,2
+arrowy,1
+arsacidean,4
+arsacides,3
+art,41
+artedi,1
+arter,1
+arterial,1
+artful,1
+article,5
+articles,11
+articulated,3
+artificial,5
+artificially,1
+artificialness,1
+artisan,1
+artist,4
+artistic,2
+artists,1
+arts,3
+as,1753
+asa,1
+ascend,1
+ascended,5
+ascendency,3
+ascending,7
+ascertained,1
+ascertaining,1
+ascii,3
+ascribable,1
+ascribe,4
+ascribed,5
+ascriptions,1
+ash,6
+ashantee,1
+ashes,12
+ashore,34
+asia,5
+asiatic,3
+asiatics,2
+aside,29
+ask,10
+askance,1
+asked,14
+aslant,2
+asleep,6
+aslope,1
+aspect,37
+aspects,5
+aspersion,1
+asphaltic,1
+asphaltites,1
+aspirations,1
+aspiring,1
+ass,2
+assail,1
+assailable,1
+assailant,2
+assailants,2
+assailed,1
+assailing,1
+assails,1
+assassins,1
+assault,4
+assaulted,1
+assaults,5
+assembled,3
+assembly,1
+assented,2
+assert,4
+asserted,3
+assertion,2
+asses,1
+assigned,3
+assignment,1
+assigns,1
+assist,4
+assistance,2
+assistants,1
+assisted,2
+assisting,1
+associated,9
+associates,1
+associations,5
+assuaging,1
+assume,4
+assumed,5
+assumes,1
+assuming,5
+assumption,1
+assurance,1
+assure,5
+assured,6
+assuredly,1
+assures,2
+assuring,1
+assyrian,1
+astern,29
+astir,3
+astonished,4
+astonishing,2
+astonishment,6
+astral,1
+astrological,1
+astronomers,1
+astronomical,1
+astronomy,1
+asunder,1
+asylum,1
+at,1335
+ate,3
+atheism,1
+atheistical,1
+athirst,3
+athletic,1
+athwartships,1
+atlantic,19
+atlantics,1
+atmosphere,5
+atmospheres,1
+atmospheric,4
+atom,1
+atrocious,1
+attached,22
+attaching,1
+attack,9
+attacked,4
+attacking,2
+attacks,3
+attain,2
+attainable,1
+attained,3
+attaining,4
+attains,1
+attar,1
+attempt,9
+attempts,4
+attend,10
+attendance,2
+attendant,2
+attended,6
+attending,4
+attends,1
+attention,9
+attentive,2
+attentively,5
+attenuated,1
+attest,1
+attestation,1
+attested,2
+attic,1
+attitude,7
+attitudes,4
+attract,1
+attracted,4
+attraction,1
+attribute,1
+attuned,1
+auction,1
+audacious,6
+audacity,3
+audible,1
+auger,2
+aught,11
+augment,4
+augmented,1
+august,8
+aunt,4
+aunts,1
+auspices,1
+austere,1
+australia,2
+australian,1
+austrian,1
+authentic,3
+authenticated,1
+author,9
+authoritative,1
+authoritatively,1
+authorities,5
+authority,8
+authorized,1
+authors,4
+auto,1
+automaton,1
+autumn,1
+autumnal,1
+auxiliary,2
+avail,2
+available,4
+availing,1
+availle,1
+avast,22
+avatar,1
+avenger,1
+avenues,3
+average,3
+averages,3
+averred,2
+avers,1
+averse,1
+averted,3
+avocation,2
+avoid,6
+await,1
+awaited,2
+awaiting,6
+awake,9
+awaken,1
+awakened,4
+awarded,1
+aware,6
+away,186
+awe,14
+awed,2
+awestruck,1
+awful,19
+awfulness,2
+awhile,6
+awkwardness,2
+awls,1
+awoke,2
+awry,1
+axe,5
+axis,6
+axles,1
+ay,4
+aye,155
+azimuth,1
+azore,2
+azores,3
+azure,6
+b,2
+babbling,1
+babe,1
+babel,2
+babes,1
+babies,3
+baboon,1
+baby,7
+babyish,1
+babylon,1
+babylonian,1
+bachelor,8
+bachelors,1
+back,164
+backbone,2
+backbones,2
+backed,9
+background,3
+backing,4
+backs,13
+backstay,1
+backstays,2
+backward,8
+backwardly,1
+backwards,5
+backwoods,1
+backwoodsman,2
+bacon,1
+bad,17
+bade,5
+baden,2
+badge,3
+badger,1
+badly,4
+baffle,1
+baffled,2
+bag,22
+baggage,2
+bagged,1
+bagging,2
+bags,1
+bailer,1
+bailiff,1
+bait,1
+bake,1
+baked,3
+baker,1
+bakers,1
+balaene,1
+balanced,3
+balancing,3
+bald,3
+bale,2
+baleen,11
+baleful,1
+baleine,1
+balena,1
+bales,2
+baliene,1
+baling,3
+ball,12
+ballast,1
+ballasted,2
+ballena,1
+balloon,1
+ballroom,1
+balls,8
+bally,1
+balmed,1
+balmy,1
+baltic,3
+baltimore,1
+bamboo,2
+bamboozingly,1
+bamboozle,1
+band,7
+bandaged,3
+bandages,1
+bandana,1
+bandbox,1
+banded,1
+bandied,1
+banding,1
+bands,3
+bang,1
+banished,2
+banister,1
+bank,3
+banked,2
+banker,1
+bankers,1
+bankrupt,4
+banks,7
+banned,1
+banner,1
+bannered,1
+banners,2
+bannisters,1
+banquet,4
+banqueter,1
+bantam,1
+bantering,2
+banteringly,1
+banterings,1
+baptised,1
+baptism,1
+baptismal,1
+baptized,2
+baptizo,1
+bar,11
+barb,5
+barbacued,1
+barbarian,1
+barbarians,3
+barbaric,11
+barbarous,3
+barbary,2
+barbecue,1
+barbed,6
+barber,1
+barbs,12
+bare,10
+barely,2
+barest,1
+bargain,2
+barges,1
+bark,3
+barn,2
+barnacle,1
+barnacled,3
+barometer,1
+baron,5
+baronial,2
+barques,1
+barred,1
+barrel,5
+barreler,1
+barreller,1
+barrels,16
+barren,3
+barrens,2
+barricade,4
+barriers,1
+barrow,4
+bars,2
+bartered,1
+bartering,1
+bartholomew,1
+base,21
+based,5
+basement,2
+baser,1
+bashaw,2
+bashee,3
+bashful,1
+bashfulness,1
+basilosaurus,1
+basin,1
+basis,3
+bask,1
+basket,5
+basketed,2
+baskets,1
+bass,1
+basso,1
+bastille,1
+bastions,1
+bat,1
+bath,2
+bathe,2
+bathed,2
+bathing,1
+baton,1
+bats,1
+battalions,2
+batten,1
+battened,1
+batteries,1
+battering,6
+battery,3
+battle,31
+battled,1
+battles,1
+baulks,1
+bawl,1
+bawled,1
+bawling,2
+bay,8
+bayonet,2
+bayonets,1
+bays,1
+be,1064
+beach,18
+beached,1
+beaches,3
+beaching,1
+beacon,2
+beadle,2
+beads,2
+beak,3
+beaked,2
+beaker,1
+beaks,2
+beale,7
+beam,3
+beamed,1
+beams,6
+bear,37
+beard,5
+bearded,6
+beards,3
+bearer,4
+bearers,2
+bearing,25
+bearings,1
+bears,12
+bearskin,2
+beast,4
+beasts,5
+beat,25
+beaten,4
+beater,1
+beaters,1
+beating,11
+beats,3
+beautiful,8
+beauty,8
+beaver,4
+becalmed,4
+became,24
+because,93
+becharmed,2
+becket,1
+beckoned,1
+beckoning,2
+become,28
+becomes,12
+becoming,3
+bed,76
+bedarned,1
+bedded,2
+bedeadened,1
+bedevilling,1
+bedfellow,5
+bedfellows,2
+bedford,18
+bedraggled,1
+bedroom,1
+beds,3
+bedside,1
+bedstead,2
+bedsteads,1
+bedwards,1
+beech,2
+beef,18
+beefsteaks,2
+beehive,1
+beelzebub,2
+been,415
+beer,8
+bees,2
+befall,2
+befallen,3
+befell,5
+befogged,1
+befooled,2
+before,301
+befriend,2
+befriended,1
+befriending,1
+beg,3
+began,53
+begat,3
+beget,9
+begets,1
+beggar,2
+beggars,2
+begged,4
+begging,4
+begin,12
+beginner,1
+beginning,20
+begins,11
+begone,4
+begotten,1
+begrimed,2
+begun,4
+behalf,1
+behavior,1
+behead,1
+beheaded,6
+beheading,1
+beheld,21
+behind,50
+behold,16
+beholder,1
+beholdest,1
+beholding,11
+beholds,1
+behooves,3
+behring,2
+being,225
+beings,9
+bejuggled,1
+belated,1
+belayed,1
+belaying,1
+belfast,1
+belfry,2
+belial,1
+belie,2
+belief,4
+beliefs,2
+beliest,1
+believe,27
+believed,6
+believer,2
+believers,1
+believing,1
+belike,3
+belisarius,1
+bell,10
+belled,1
+bellied,1
+bellies,9
+bellows,1
+bells,3
+belly,9
+belong,11
+belonged,13
+belongest,1
+belonging,8
+belongs,8
+beloved,4
+below,52
+belshazzar,5
+belt,5
+belted,3
+belubed,1
+bench,17
+benches,2
+bend,5
+bended,3
+bendigoes,1
+bending,2
+beneath,76
+benediction,3
+benefit,4
+benevolence,1
+benevolent,5
+benevolently,1
+bengal,2
+benignity,1
+benjamin,2
+bennett,4
+bent,12
+bentham,1
+bepatched,1
+bequeathed,1
+berg,2
+berkshire,1
+berlin,1
+bermudas,1
+bernard,2
+berry,3
+berth,10
+berths,1
+beseech,1
+beseeching,2
+beset,2
+beside,6
+besides,50
+besieged,1
+besmoked,1
+besooted,1
+bespattering,1
+bespeak,1
+bespeaking,2
+bess,1
+best,66
+bestir,2
+bestirred,3
+bestirring,1
+bestow,2
+bestowal,1
+bestowed,8
+bestows,1
+bestreaked,1
+bet,1
+betake,2
+betaken,1
+betakes,1
+bethink,9
+bethinking,4
+bethought,2
+betoken,1
+betokened,4
+betokening,1
+betrayed,6
+better,63
+betters,1
+betty,1
+between,120
+beverage,1
+bevy,1
+beware,14
+bewildered,1
+bewildering,1
+bewitched,1
+bewitching,1
+beyond,24
+biased,1
+bible,11
+bibles,2
+bibliographical,1
+bid,7
+bidden,2
+bidding,7
+bids,1
+bier,1
+big,13
+bigamist,1
+bigger,2
+biggest,2
+bigness,3
+bigot,1
+bigotry,1
+bildad,76
+bilious,1
+bill,8
+billed,1
+billeted,1
+billiard,5
+billion,1
+billow,5
+billows,20
+bilocular,1
+binary,1
+bind,2
+binder,2
+binding,1
+binnacle,16
+biographical,1
+biography,1
+bipeds,1
+birch,1
+bird,17
+birds,11
+birmah,1
+birth,10
+birthmark,1
+biscuit,9
+biscuits,2
+bishop,5
+bison,3
+bisons,1
+bit,28
+bite,5
+bites,2
+bitin,1
+biting,4
+bitingly,1
+bits,9
+bitter,8
+bitterer,1
+bitterest,4
+bitterly,3
+bitterness,1
+bitters,1
+bitts,2
+bivouacks,1
+black,92
+blackberrying,1
+blackened,1
+blackest,1
+blackish,1
+blackling,1
+blackness,11
+blacks,2
+blacksmith,21
+blacksmiths,3
+blackstone,3
+bladder,1
+bladders,1
+blade,8
+bladed,1
+blades,8
+blame,2
+blameworthy,1
+blanc,1
+blanche,1
+blanched,1
+blanco,1
+bland,2
+blandishments,2
+blandness,1
+blang,1
+blank,8
+blanket,13
+blanketing,1
+blankets,1
+blankness,2
+blanks,1
+blasphemer,2
+blasphemous,1
+blasphemy,2
+blast,15
+blasted,8
+blasting,1
+blasts,1
+blaze,2
+blazed,1
+blazes,1
+blazing,7
+bleached,3
+bleaching,1
+bleak,3
+bleakness,1
+bled,2
+bleed,1
+bleeding,3
+bleeds,2
+blemish,2
+blend,4
+blended,5
+blending,5
+blent,2
+bless,9
+blessed,11
+blessing,1
+blew,8
+blight,1
+blighted,1
+blind,15
+blinded,2
+blindest,1
+blindfold,1
+blinding,6
+blindly,7
+blinds,10
+bliss,3
+blister,1
+blistered,2
+blisteringly,1
+blisters,1
+blithe,1
+bloated,1
+block,11
+blockhead,1
+blocks,7
+blocksburg,1
+blood,62
+blooded,2
+bloodiest,1
+bloodshed,1
+bloodshot,2
+bloodthirsty,2
+bloody,9
+bloom,4
+blossom,1
+blossoms,1
+blotted,1
+blotting,1
+blow,26
+blowing,6
+blown,5
+blows,24
+blubber,34
+blubbering,1
+blue,45
+blueness,1
+bluer,1
+bluff,4
+bluish,2
+blunder,2
+blundering,2
+blunted,1
+bluntly,1
+blurred,2
+blush,1
+blusterer,1
+bo,2
+boa,1
+board,74
+boarded,6
+boarders,4
+boarding,5
+boards,1
+boast,2
+boasted,3
+boastful,1
+boasting,1
+boasts,1
+boat,336
+boatheader,1
+boatmen,1
+boats,147
+boatswain,1
+bob,1
+bobbed,1
+bobbing,1
+bodices,1
+bodied,1
+bodies,9
+bodiless,2
+bodily,26
+bodings,2
+body,110
+boggy,1
+boil,2
+boiler,2
+boilers,3
+boiling,15
+boisterous,3
+boisterously,1
+bold,17
+bolder,1
+boldest,1
+boldly,10
+boldness,2
+bolivia,2
+bolstering,1
+bolt,8
+bolted,7
+bolting,1
+bolts,7
+bomb,1
+bombay,1
+bombazine,1
+bonapartes,1
+bond,2
+bondsman,1
+bone,51
+boneless,3
+bones,49
+bonnet,2
+bonneterre,1
+bony,6
+boobies,1
+booble,1
+book,60
+bookbinder,1
+books,17
+boom,8
+boomed,1
+boomer,3
+booming,2
+booms,2
+boon,1
+boone,1
+boot,2
+booting,1
+boots,14
+boozy,1
+bordeaux,1
+border,2
+bordered,1
+bordering,1
+borders,2
+bore,17
+borean,1
+bored,2
+born,36
+borne,9
+borneo,1
+borrow,1
+borrowed,3
+borrowing,1
+bosky,1
+bosom,8
+bosoms,2
+boston,2
+both,126
+bottle,7
+bottled,2
+bottles,2
+bottling,1
+bottom,55
+bottomed,1
+bottomless,7
+bough,1
+boughs,3
+bought,1
+bounce,2
+bounced,1
+bouncing,1
+bound,30
+boundary,1
+bounded,1
+bounder,1
+bounding,1
+boundless,6
+bounds,2
+bounteous,1
+bounties,1
+bountiful,1
+bountifully,1
+bourbons,1
+bout,2
+bouton,6
+bow,44
+bowditch,3
+bowed,10
+bowels,12
+bower,3
+bowes,1
+bowie,1
+bowing,6
+bowings,1
+bowl,8
+bowled,2
+bowline,1
+bowlines,3
+bowling,1
+bowls,2
+bows,49
+bowsman,8
+bowsmen,1
+bowsprit,8
+bowstring,1
+box,18
+boxes,5
+boxing,1
+boy,65
+boyhood,1
+boys,35
+brace,9
+braced,2
+braces,6
+bracing,4
+brack,1
+brackish,1
+bracton,1
+brag,2
+brags,1
+brahma,2
+brahmins,1
+braided,3
+braiding,1
+brain,37
+brained,1
+braining,1
+brains,8
+branch,4
+branches,5
+brand,2
+branded,4
+branding,1
+brandreth,1
+brandy,2
+brass,3
+brats,1
+bravadoes,1
+brave,18
+bravely,2
+braver,1
+bravery,2
+braves,1
+bravest,2
+brawlers,1
+brawn,2
+brawniness,1
+brawny,6
+brazen,1
+brazil,2
+breach,6
+breaches,5
+breaching,2
+bread,16
+breadfruit,1
+breadth,10
+break,23
+breakers,7
+breakfast,14
+breakfasting,1
+breaking,16
+breaks,5
+breakwater,1
+breast,7
+breastband,1
+breasted,1
+breasts,1
+breath,18
+breathe,5
+breathed,2
+breathes,6
+breathest,1
+breathing,6
+breathless,2
+breathlessly,1
+breaths,7
+bred,8
+bred'ren,1
+breeching,1
+breed,3
+breedeth,1
+breeding,2
+breeds,3
+breeze,20
+breezeless,1
+breezelessness,1
+breezes,4
+breezing,1
+breezy,1
+bremen,2
+bress,1
+bressed,2
+brevet,1
+brevity,1
+brew,1
+brewed,2
+brewery,2
+brick,4
+bricks,1
+bridal,4
+bridals,1
+bride,4
+bridegroom,1
+bridegrooms,1
+brides,1
+bridge,2
+bridges,2
+bridle,2
+brief,10
+briefly,1
+brig,3
+brigandish,2
+brigger,1
+brighggians,1
+bright,25
+brighter,3
+brightest,1
+brightness,2
+brigness,1
+brigs,3
+brilliance,1
+brilliancy,3
+brilliant,2
+brim,3
+brimful,1
+brimmed,2
+brimmers,1
+brimming,4
+brimstone,2
+brindled,1
+brine,4
+bring,19
+bringing,10
+brings,3
+brisk,4
+brisson,1
+bristles,2
+bristling,2
+brit,9
+britain,1
+british,4
+britons,1
+brittle,2
+broad,58
+broadly,2
+broadway,2
+broidered,1
+broiled,3
+broiling,1
+broke,15
+broken,50
+brokenly,1
+broker,2
+bronze,2
+brood,2
+brooding,2
+broods,2
+brook,2
+brooks,2
+broom,3
+brother,12
+brotherhood,2
+brotherly,2
+brothers,2
+brought,38
+brow,41
+browed,2
+brown,8
+browne,6
+brows,2
+browsing,1
+bruise,1
+bruised,1
+bruited,2
+brunt,1
+brush,1
+brushed,2
+brushing,2
+brushwood,1
+brutal,1
+brute,8
+brutes,1
+bubble,6
+bubbled,1
+bubbles,8
+bubbling,4
+bubblingly,2
+buck,2
+bucket,15
+buckets,5
+buckle,4
+buckler,2
+bucklers,1
+buckling,1
+bucks,1
+buckskin,3
+bud,5
+budding,1
+budge,4
+budged,1
+buffalo,10
+buffaloes,2
+bugbear,1
+builded,2
+builder,1
+builders,2
+building,2
+built,8
+bulb,1
+bulbous,1
+bulbs,1
+bulge,1
+bulk,32
+bulkhead,2
+bulkington,8
+bulks,1
+bulky,3
+bull,15
+bullets,1
+bullied,1
+bullies,1
+bullocks,1
+bulls,3
+bully,1
+bulwarks,37
+bump,1
+bumped,1
+bumpers,1
+bumping,1
+bumpkin,4
+bumpkins,2
+bumps,2
+bunch,7
+bunched,1
+bundle,2
+bundles,2
+bundling,1
+bung,1
+bunger,13
+bungle,1
+bunk,1
+bunks,1
+bunting,1
+bunyan,1
+buoy,13
+buoyancy,4
+buoyant,7
+buoyantly,1
+buoyed,3
+buoys,2
+burden,7
+burgher,1
+burghers,1
+burglar,3
+burglaries,1
+burial,4
+buried,14
+buries,1
+burke,3
+burkes,1
+burly,2
+burn,11
+burned,6
+burning,12
+burnish,1
+burnished,1
+burns,4
+burnt,7
+burrower,1
+burst,23
+bursting,12
+burstingly,1
+burton,2
+burtons,4
+bury,6
+burying,2
+bush,1
+bushel,1
+bushy,1
+busily,3
+business,69
+business@pglaf.org,1
+busks,2
+bust,2
+bustle,2
+bustles,1
+busts,1
+busy,7
+busying,1
+but,1823
+butcher,1
+butchering,1
+butchers,4
+butler,1
+butt,5
+butter,11
+buttered,1
+butterflies,1
+butterfly,2
+butteries,1
+butterless,1
+button,4
+buttoned,2
+buttoning,2
+buttons,4
+buttress,1
+buttressed,1
+butts,5
+buy,3
+by,1226
+bye,13
+bystanders,1
+byward,1
+c,4
+cabaco,6
+cabalistical,1
+cabalistically,1
+cabalistics,1
+cabin,84
+cabinet,2
+cabinets,1
+cabins,1
+cable,7
+cabled,1
+cables,4
+cachalot,4
+caddy,1
+cadence,2
+cadiz,4
+caesar,2
+caesarian,1
+cage,2
+caged,1
+cain,2
+cajoling,1
+cake,2
+cakes,3
+caking,1
+calabash,3
+calais,1
+calamities,1
+calamity,2
+calculate,3
+calculated,8
+calculating,5
+calculation,2
+calendar,3
+calf,3
+californian,1
+call,55
+callao,1
+called,116
+callest,3
+calling,12
+callings,1
+calls,12
+calm,41
+calmly,13
+calmness,2
+calms,3
+calomel,1
+calves,5
+cambrics,1
+cambyses,1
+came,130
+camel,2
+campagna,1
+campaign,1
+camphorated,1
+can,209
+can'st,9
+can't,28
+canaan,2
+canada,2
+canadian,1
+canakin,1
+canal,15
+canaller,2
+canallers,8
+canals,2
+canaris,1
+cancer,1
+candelabra,2
+candid,1
+candidate,3
+candidates,1
+candies,1
+candle,7
+candles,9
+cane,5
+canes,2
+cankerous,1
+cannibal,19
+cannibalism,1
+cannibalistically,1
+cannibally,1
+cannibals,11
+cannikin,1
+cannon,6
+cannot,73
+canny,1
+canoe,11
+canoes,8
+canonic,1
+canonicals,1
+canonized,1
+canopy,2
+canst,13
+cant,4
+canted,3
+canterbury,1
+canticle,1
+canting,1
+canvas,14
+cap,8
+cap'ain,1
+capable,6
+capacious,2
+capacity,3
+cape,40
+caper,1
+capering,2
+capes,1
+capital,4
+capitals,3
+capping,1
+caprices,1
+capricious,3
+capriciously,1
+capricornus,1
+caps,5
+capsize,1
+capsized,3
+capsizing,3
+capsizings,1
+capstan,12
+capstans,1
+captain,329
+captains,24
+capting,4
+captive,4
+captors,1
+capture,14
+captured,17
+capturing,1
+caput,1
+car,1
+caramba,1
+caravan,2
+caravans,2
+carcase,6
+carcases,1
+carcass,1
+card,4
+cardinals,1
+cards,4
+care,14
+cared,3
+careening,1
+careens,2
+career,4
+careful,18
+carefully,11
+careless,4
+carelessly,3
+carelessness,1
+cares,3
+caress,1
+caressed,1
+carey,1
+cargo,3
+cargoes,1
+carking,1
+carlines,1
+carnation,1
+carnivorous,1
+carpenter,49
+carpenters,5
+carpet,8
+carpets,1
+carriage,3
+carriages,2
+carried,30
+carries,16
+carrion,2
+carrol,1
+carry,26
+carrying,15
+carson,1
+cart,1
+carted,2
+carthage,1
+cartload,1
+cartloads,1
+cartridge,1
+carve,2
+carved,14
+carving,6
+caryatid,1
+cascade,2
+cascading,1
+case,72
+cased,2
+casement,1
+casements,2
+cases,25
+cash,6
+cashier,1
+cask,11
+casked,2
+casket,3
+casks,20
+cassock,2
+cast,31
+castaway,4
+castaways,3
+casting,6
+castle,5
+castor,3
+castors,2
+casts,3
+casual,2
+casually,2
+casualties,2
+casualty,3
+cat,2
+catacombs,1
+catalogue,1
+cataract,2
+catarrhs,1
+catastrophe,3
+catch,12
+catched,1
+catcher,1
+catches,2
+catching,7
+categut,1
+caterpillar,1
+cathedral,3
+cathedrals,2
+catholic,2
+cato,1
+cats,1
+catskill,1
+cattegat,1
+cattle,6
+caudam,1
+caught,45
+caulk,2
+caulked,1
+caulking,4
+cause,24
+caused,12
+causes,3
+causing,2
+caution,2
+cautious,4
+cautiously,2
+cautiousness,2
+cavalier,1
+cavaliers,1
+cave,6
+caved,1
+cavern,1
+caves,1
+cavities,1
+cavity,5
+caw,6
+cease,4
+ceaseless,4
+ceases,2
+ceasing,1
+cedar,5
+ceiling,6
+celebrate,2
+celebrated,1
+celebration,1
+celebrity,1
+celerity,3
+celestial,5
+cell,1
+cellar,2
+cellars,2
+celled,1
+cellini,1
+cells,3
+cemeteries,2
+cenotaphs,1
+census,5
+cent,1
+centaurs,2
+centipede,1
+central,12
+centralization,1
+centrally,2
+centre,22
+centrepiece,1
+centres,1
+cents,2
+centuries,12
+century,10
+cerebellum,2
+ceremonial,1
+ceremonies,1
+ceremony,4
+certain,91
+certainly,29
+certainties,1
+certainty,3
+cervantes,1
+cetacea,3
+cetacean,3
+ceti,3
+cetological,1
+cetology,10
+cetus,3
+ceylon,1
+chace,5
+chafed,1
+chain,5
+chained,2
+chains,18
+chair,8
+chairs,3
+chaldee,2
+chalices,1
+chalking,1
+challenge,1
+chamber,3
+chambers,3
+chamois,1
+champagne,1
+champed,1
+champions,1
+champollion,2
+chance,46
+chanced,13
+chancery,1
+chances,8
+chancing,4
+change,9
+changed,10
+changeful,1
+changeless,1
+changing,2
+channel,1
+channels,2
+chaos,4
+chaotic,1
+chap,13
+chapel,10
+chapels,1
+chaplain,3
+chaps,5
+chapter,173
+chapters,9
+character,15
+characteristic,2
+characteristically,1
+characteristics,3
+characterized,1
+characterizing,1
+characters,1
+charcoal,1
+charge,16
+charged,2
+charger,3
+chargers,1
+charges,2
+charging,1
+charing,1
+chariot,2
+charitable,5
+charities,1
+charity,9
+charlemagne,2
+charles,1
+charley,3
+charm,7
+charmed,3
+charmingly,1
+charms,2
+charnel,1
+chart,7
+charted,2
+charter,1
+chartering,1
+charts,7
+chase,59
+chased,14
+chases,1
+chasing,7
+chasm,1
+chassee,1
+chaste,1
+chastisements,1
+chat,8
+chattering,1
+chatting,2
+cheap,2
+cheapest,1
+cheaply,1
+cheating,2
+check,3
+checkered,1
+checks,1
+cheek,7
+cheeked,3
+cheeks,7
+cheer,8
+cheered,1
+cheerful,5
+cheerfully,2
+cheerfulness,1
+cheeriest,1
+cheerily,4
+cheering,5
+cheerless,3
+cheerly,1
+cheers,4
+cheery,2
+cheese,9
+cheeseries,1
+cheever,2
+chemistry,1
+cherish,9
+cherished,3
+cherishing,1
+cherries,4
+cherry,2
+cherrying,1
+cherubim,1
+chess,1
+chest,26
+chested,1
+chestnut,1
+chestnuts,2
+chests,3
+chewed,4
+chewing,1
+chicha,4
+chick,1
+chickens,1
+chief,38
+chiefly,19
+chiefs,1
+child,18
+childe,1
+childhood,3
+childish,1
+childlessness,1
+children,18
+chili,2
+chilian,2
+chill,1
+chilled,1
+chilly,1
+chimed,1
+chimney,7
+chimneys,2
+chin,5
+china,9
+chinese,5
+chinks,1
+chip,5
+chipped,1
+chipping,1
+chips,5
+chirography,1
+chisel,2
+chiseled,1
+chiselled,3
+chivalric,1
+chivalrous,1
+chock,1
+chocks,6
+choice,5
+choke,1
+choked,3
+choking,3
+cholera,2
+cholo,1
+choose,6
+chop,1
+chopping,3
+chorus,5
+chose,1
+chosen,3
+chowder,9
+chowders,3
+christ,1
+christendom,4
+christened,1
+christenings,1
+christian,18
+christianity,2
+christians,7
+christmas,5
+chronically,1
+chronicled,2
+chronicler,2
+chronicles,1
+chronometer,1
+chrysalis,1
+chuckle,1
+chuckled,1
+chucks,1
+chums,1
+church,14
+churches,6
+churchyard,3
+churned,3
+churning,6
+cibil,1
+cigar,1
+cigars,2
+cindered,1
+cinders,1
+cinnamon,1
+cinque,3
+cipher,1
+circassian,1
+circle,24
+circled,1
+circles,13
+circling,3
+circlings,2
+circuit,1
+circular,6
+circulars,1
+circulate,1
+circulates,1
+circulating,1
+circulation,1
+circumambient,1
+circumambulate,1
+circumference,6
+circumferences,1
+circumnavigated,1
+circumnavigating,2
+circumnavigation,3
+circumnavigations,1
+circumpolar,1
+circumspect,1
+circumspection,1
+circumspectly,1
+circumstance,26
+circumstanced,1
+circumstances,26
+circumstantial,2
+circumventing,1
+circumvention,1
+circus,3
+cistern,4
+cisterns,1
+citadel,1
+citadels,1
+citation,1
+citations,2
+cite,1
+cited,2
+cities,3
+citron,1
+city,15
+civil,2
+civility,1
+civilization,1
+civilized,16
+civilly,1
+civitas,1
+clad,1
+claim,7
+claimed,2
+claims,1
+clam,11
+clamber,1
+clammy,1
+clamor,1
+clamorous,1
+clamped,1
+clams,3
+clan,1
+clanged,2
+clanging,1
+clanking,2
+clap,4
+clapped,4
+clapping,4
+clappings,1
+claps,4
+clapt,1
+claret,1
+clashing,1
+clasp,1
+clasped,1
+class,4
+classed,1
+classic,1
+classical,1
+classification,4
+classify,1
+clattering,2
+claus,1
+claw,2
+claws,1
+clay,6
+clayey,1
+clean,16
+cleanliest,1
+cleanse,1
+cleansed,2
+cleansing,1
+clear,41
+cleared,5
+clearer,1
+clearest,1
+clearing,5
+clearings,1
+clearly,3
+clearness,1
+cleat,3
+cleats,1
+cleaving,2
+cleets,1
+cleft,1
+clefts,1
+clenched,5
+clenching,1
+cleopatra,2
+clergy,2
+clergyman,1
+clerical,1
+cleveland,1
+clever,1
+clews,1
+clicked,2
+clifford,4
+cliffs,4
+climate,1
+climates,2
+climax,1
+climb,4
+climbed,1
+climbing,2
+climbs,2
+clime,1
+climes,5
+clinch,3
+clinched,3
+cling,2
+clingest,1
+clinging,9
+clingings,1
+clings,1
+clinking,1
+clipped,1
+cloak,1
+cloaked,1
+clock,4
+clogged,1
+cloistered,1
+clootz,1
+close,56
+closed,10
+closely,14
+closeness,1
+closer,8
+closes,1
+closet,3
+closing,2
+cloth,8
+clothe,1
+clothed,4
+clothes,11
+clothing,3
+cloths,1
+clotted,2
+clotting,1
+cloud,7
+clouded,1
+cloudless,1
+clouds,12
+cloudy,1
+clout,2
+clove,1
+cloven,2
+clover,1
+cloves,1
+club,4
+clubbed,2
+clubs,1
+clue,3
+clumped,1
+clumsiest,1
+clumsily,1
+clumsy,10
+clung,4
+cluny,1
+cluster,4
+clustered,2
+clustering,1
+clusters,2
+clutch,5
+clutched,3
+clutches,1
+clutching,2
+co,1
+coach,4
+coaches,1
+coal,7
+coalescing,1
+coals,5
+coarse,1
+coast,42
+coasting,1
+coasts,7
+coat,28
+coated,1
+coating,1
+coats,3
+coax,1
+cob,1
+cobbler,1
+cobblestones,1
+cobbling,3
+cobs,1
+cobweb,1
+cock,5
+cockatoo,1
+cocked,1
+cockpits,1
+cocks,3
+cocoa,2
+cocoanut,1
+cocoanuts,2
+cod,13
+code,2
+codes,1
+codfish,1
+cods,1
+coenties,1
+coerced,1
+coercing,1
+coffee,6
+coffer,1
+coffin,52
+coffined,1
+coffins,7
+cogent,4
+cogged,1
+cognac,1
+cognisable,1
+cohered,1
+cohorts,1
+coil,6
+coiled,11
+coiling,7
+coils,10
+coin,9
+coincident,1
+coincidings,1
+coined,1
+coins,5
+coke,1
+cold,31
+colder,1
+colds,1
+coleman,2
+coleridge,2
+colic,1
+coll,2
+collapsed,4
+collar,2
+collared,1
+collaring,1
+collated,1
+collateral,3
+collect,1
+collected,5
+collectedness,2
+collecting,1
+collection,6
+collectively,3
+college,3
+colleges,1
+collegians,1
+collision,1
+colnett,4
+cologne,5
+colonial,2
+colonies,3
+colonnades,2
+colony,1
+colossal,7
+colossus,1
+colour,16
+coloured,8
+colouring,1
+colourless,3
+colours,5
+colt,8
+columbus,2
+column,5
+columns,3
+comb,2
+combat,2
+combed,1
+comber,1
+combination,2
+combinations,2
+combined,9
+combinedly,1
+combing,3
+combining,2
+come,180
+comedies,1
+comely,1
+comes,53
+comest,1
+comet,1
+cometh,1
+comets,1
+comfort,7
+comfortable,9
+comfortableness,1
+comfortably,3
+comforted,1
+comforter,1
+comforters,2
+comforting,1
+comforts,1
+comical,5
+coming,54
+command,28
+commanded,24
+commander,16
+commanders,6
+commanding,5
+commandingly,1
+commandment,1
+commands,3
+commence,2
+commenced,7
+commend,1
+commended,1
+commentaries,3
+commentator,1
+commentators,2
+commenting,1
+commerce,6
+commercial,4
+commissioned,2
+committed,2
+committing,2
+commodore,10
+commodores,2
+common,49
+commonalty,1
+commonest,1
+commonly,7
+commonplaces,2
+commons,2
+commonwealth,1
+commotion,11
+commotions,1
+communicated,1
+communicates,2
+communicating,2
+communication,1
+communications,2
+communing,1
+communion,1
+communities,1
+community,1
+compact,4
+compacted,2
+compactness,1
+companied,1
+companies,6
+companion,1
+companionable,1
+companions,5
+companionship,2
+companionway,1
+company,33
+comparable,1
+comparative,6
+comparatively,8
+compare,7
+compared,9
+comparing,3
+comparison,6
+compass,17
+compasses,10
+compassion,1
+compendious,1
+compensated,1
+competency,1
+competent,5
+compilation,1
+compilations,1
+compile,1
+compiled,1
+complacent,1
+complain,1
+complained,1
+complaints,1
+complement,2
+complete,25
+completed,6
+completely,33
+completing,1
+completion,2
+complexion,6
+complexioned,2
+compliance,6
+complicated,5
+complied,3
+complies,1
+compliment,1
+complimentary,1
+complimented,2
+compliments,2
+comply,7
+complying,3
+comported,1
+compose,1
+composed,3
+composing,4
+compound,1
+compounded,1
+comprehend,5
+comprehended,4
+comprehending,2
+comprehensible,2
+comprehension,3
+comprehensive,2
+comprehensively,1
+comprehensiveness,3
+compress,1
+compressed,1
+comprise,2
+comprised,2
+comprises,3
+comprising,4
+compunctions,1
+computed,1
+computer,2
+computers,2
+comrade,9
+comrades,10
+comstock,2
+con,1
+conceal,2
+concealed,3
+conceals,1
+conceded,1
+conceit,13
+conceited,1
+conceits,4
+conceivable,4
+conceive,2
+conceived,3
+conceives,1
+concentrate,1
+concentrated,4
+concentrating,2
+concentration,1
+concentrations,1
+concentred,1
+concentric,3
+concept,2
+conception,2
+conceptions,1
+concern,10
+concerned,8
+concerning,42
+concernment,2
+concernments,1
+concerns,1
+concert,3
+conciliating,1
+conclude,8
+concluded,19
+concluding,11
+conclusion,6
+concocted,2
+concocts,1
+concrete,3
+concreted,2
+concubines,2
+concurred,1
+concurring,1
+concussion,1
+concussions,1
+condemned,4
+condemning,2
+condensation,1
+condense,2
+condensed,2
+condescending,1
+condescension,2
+condition,6
+condor,1
+conduct,12
+conducted,2
+conducting,1
+conductor,1
+conduits,1
+cone,1
+cones,1
+confabulations,1
+confederate,1
+confess,8
+confessed,1
+confession,1
+confidence,6
+confident,4
+confidential,9
+confidentially,1
+confidently,2
+confiding,1
+confine,1
+confined,3
+confinement,2
+confines,1
+confining,1
+confirmation,2
+confirmed,1
+conflagration,1
+conflagrations,1
+conflict,1
+conflicting,1
+conflicts,1
+confluent,3
+confound,1
+confounded,4
+confoundedly,1
+confounding,1
+confounds,1
+confronted,1
+confused,2
+confusion,3
+congeal,1
+congealed,2
+congenial,5
+congenialities,1
+congeniality,1
+congo,2
+congratulate,1
+congregate,1
+congregated,2
+congregation,8
+congregational,3
+conical,1
+conjectures,1
+conjoined,2
+conjunctures,1
+conjure,1
+conjured,1
+conjures,1
+conjuror,1
+connect,1
+connected,12
+connecticut,1
+connecting,3
+connection,1
+connexion,8
+connexions,1
+conquered,3
+conquering,1
+conquest,1
+conscience,12
+consciences,1
+conscientious,6
+conscientiously,1
+conscious,8
+consciously,1
+consciousness,6
+consecrated,1
+consecrating,1
+consecutive,3
+consent,1
+consequence,7
+consequences,2
+consequent,3
+consequential,1
+consequently,4
+conservatories,1
+consider,23
+considerable,28
+considerably,9
+consideration,8
+considerations,6
+considered,14
+considering,31
+consign,1
+consist,3
+consisted,2
+consistence,2
+consistency,1
+consisting,3
+consists,5
+consolation,1
+consolatory,1
+consort,3
+consorted,2
+conspicuous,7
+conspicuously,1
+conspire,1
+conspired,1
+constable,2
+constant,6
+constantine,1
+constantinople,3
+constantly,4
+constellation,3
+constellations,1
+consternation,10
+consternations,1
+constituents,1
+constituting,1
+constitution,2
+constitutional,2
+constrain,1
+constrained,2
+constrainings,1
+constraint,1
+construct,1
+constructed,2
+construction,1
+consult,1
+consulted,1
+consulting,1
+consume,3
+consumed,5
+consuming,3
+consumptive,1
+contact,15
+contain,7
+contained,5
+containing,9
+contains,6
+contemplating,1
+contemplation,2
+contemplations,1
+contemplative,2
+contemporary,4
+contemptible,4
+contemptibly,1
+contemptuously,1
+contended,1
+contending,1
+content,18
+contented,1
+contentedly,1
+contenting,1
+contents,7
+contest,2
+contested,1
+context,2
+contiguity,1
+continent,4
+continental,2
+continents,3
+contingencies,1
+contingency,2
+contingent,1
+continual,14
+continually,17
+continuation,1
+continue,5
+continued,14
+continues,2
+continuing,3
+continuous,5
+continuously,2
+contortions,2
+contour,3
+contraband,1
+contract,3
+contracted,4
+contracting,7
+contraction,2
+contracts,1
+contradict,1
+contradicted,1
+contradiction,1
+contradictory,3
+contrary,12
+contrast,12
+contrasted,2
+contrasting,9
+contrastingly,1
+contribute,4
+contributed,1
+contributes,2
+contributions,2
+contributory,1
+contrivance,2
+contrivances,8
+contrive,1
+contrived,4
+controllable,1
+controlling,1
+controls,2
+controversies,1
+controverted,1
+contusions,1
+convalescence,1
+convalescing,1
+convenience,2
+conveniences,2
+convenient,11
+conveniently,1
+convent,1
+conventional,1
+conversant,1
+conversation,5
+conversations,1
+conversed,3
+convert,3
+converted,4
+convertible,1
+convex,2
+convey,1
+conveyance,1
+conveyed,4
+conveying,2
+conveys,3
+convict,1
+convictions,1
+convicts,1
+convince,1
+convinced,4
+convivial,4
+convolutions,1
+convulsive,1
+convulsively,3
+cook,55
+cooke,1
+cooked,6
+cooking,2
+cooks,2
+cool,17
+cooled,2
+cooler,1
+cooling,1
+coolly,7
+coolness,2
+cooper,7
+coopers,3
+coopman,2
+cope,1
+copenhagen,1
+copestone,2
+copied,5
+copies,8
+copper,7
+coppered,1
+coppers,1
+copy,19
+copying,5
+copyright,14
+coral,7
+corals,1
+cord,9
+cordage,3
+cordially,1
+cordon,2
+cords,7
+core,1
+corinthians,1
+cork,4
+corkscrew,2
+corkscrewed,1
+corky,1
+corlaer,1
+corlears,1
+corn,5
+corner,16
+corners,4
+coronation,6
+coronations,1
+corporal,1
+corporation,1
+corporeal,4
+corporeally,2
+corpse,14
+corpses,1
+corpulence,2
+corpusants,6
+correct,6
+correctly,4
+correspond,3
+correspondence,1
+corresponding,7
+corresponds,2
+corridors,1
+corroborated,1
+corroborative,1
+corroded,3
+corrupt,7
+corrupted,1
+corruption,1
+corsairs,1
+cosmetic,2
+cosmopolite,1
+cost,4
+costermongers,1
+costliest,2
+costly,2
+costs,2
+costume,1
+cosy,5
+cottage,3
+cotton,3
+couch,1
+cougar,1
+cough,3
+could,216
+could'st,1
+couldn't,8
+couldst,1
+counsel,4
+counsellors,1
+counsels,1
+count,3
+counted,5
+countenance,12
+counter,3
+counteracted,1
+counteracting,1
+counterbalance,1
+counterfeit,1
+counterpane,7
+counterpart,3
+counterpoise,1
+counters,1
+countersinkers,1
+countersinking,1
+countersunk,1
+counties,1
+counting,4
+countless,5
+countries,5
+country,27
+countryman,1
+countrymen,1
+county,2
+couple,6
+coupled,3
+couples,1
+courage,9
+courageous,2
+courageousness,1
+couriers,1
+course,42
+courses,6
+court,2
+courteous,1
+courteously,1
+courtesy,4
+courting,1
+courts,1
+cousin,2
+cove,1
+covenant,2
+cover,11
+covered,11
+covering,6
+coverlid,1
+covers,2
+coves,1
+cow,1
+coward,15
+cowardly,2
+cowards,6
+cowhide,1
+cowley,1
+cowper,2
+cows,2
+coyings,1
+cozening,2
+crab,2
+crabs,3
+crack,10
+cracked,7
+crackers,1
+crackest,1
+cracking,4
+crackled,1
+cracks,5
+cradle,1
+cradled,1
+craft,54
+crafty,1
+craggy,1
+crags,1
+crammed,1
+crammer,1
+cramped,2
+crane,3
+cranes,3
+cranial,2
+cranium,1
+crannies,1
+crape,1
+crappo,1
+crappoes,1
+crash,2
+crashing,1
+crater,4
+craters,1
+crave,1
+craven,4
+crawl,6
+crawled,2
+crawling,6
+crazed,4
+craziness,1
+crazy,14
+creagh,1
+creak,1
+creaking,3
+cream,3
+creamed,1
+creamy,5
+create,1
+created,9
+creates,1
+creating,5
+creation,8
+creations,1
+creative,1
+creativeness,1
+creature,42
+creatures,34
+credentials,2
+credible,1
+credit,4
+credited,2
+creditor,1
+creditors,1
+credulities,1
+credulous,5
+creed,1
+creeds,1
+creeping,2
+creepingly,1
+creeps,1
+crept,1
+crescent,1
+crescentic,4
+crest,2
+crested,2
+crests,2
+cretan,2
+crete,1
+crew,140
+crews,17
+crick,1
+cricket,2
+cried,155
+crier,2
+cries,16
+crim,1
+crime,2
+criminal,1
+crimson,3
+crimsoned,1
+cringed,2
+cringing,2
+cripple,3
+crippled,3
+crish,1
+crisis,3
+crisp,3
+criterion,1
+critical,15
+critically,2
+criticism,1
+critics,1
+critters,5
+crockery,2
+crockett,1
+crocodile,2
+cronies,2
+crony,1
+crooked,8
+crookedly,1
+crookedness,1
+crop,1
+cross,20
+crossed,15
+crosses,2
+crossing,18
+crosslights,1
+crosswise,4
+crotch,10
+crotchets,1
+crouch,1
+crouches,1
+crouching,3
+crow,14
+crowd,9
+crowded,4
+crowding,6
+crowds,5
+crowing,1
+crown,18
+crowned,3
+crowning,3
+crows,2
+crozetts,3
+crucible,2
+crucified,1
+crucifix,1
+crucifixion,1
+cruel,8
+cruellest,2
+cruelty,1
+cruet,4
+cruise,9
+cruised,1
+cruiser,1
+cruisers,3
+cruises,2
+cruising,27
+cruisings,2
+cruize,1
+crumb,1
+crumpled,1
+crunched,3
+crunching,1
+cruppered,1
+crusader,1
+crusaders,1
+crush,4
+crushed,8
+crushing,1
+crusts,1
+crutch,2
+cry,39
+crying,4
+crystal,4
+crystalline,1
+crystallized,1
+crystals,2
+cub,4
+cuba,2
+cubic,3
+cubs,3
+cucumbers,1
+cudgelling,1
+cuffs,1
+cullest,1
+cultivate,1
+cultivated,1
+cultured,1
+cumbrous,1
+cunning,15
+cunningly,1
+cup,8
+cupbearers,1
+cupidity,2
+cupola,1
+cups,4
+curb,1
+curbstone,2
+curdling,1
+curds,2
+cure,3
+cured,1
+cures,2
+curing,2
+curios,1
+curiosity,10
+curious,54
+curiously,6
+curiousness,1
+curled,6
+curling,7
+curls,1
+curly,1
+currency,1
+current,3
+currents,8
+curse,6
+cursed,12
+curses,5
+cursing,1
+cursings,1
+cursorily,1
+curtains,1
+curve,1
+curved,4
+curves,2
+curvetting,1
+curvicues,1
+curving,2
+cushioned,1
+cussed,1
+custom,7
+customary,14
+customs,1
+cut,53
+cutlass,1
+cutlery,1
+cutlet,1
+cutlets,1
+cuts,3
+cutter,1
+cutting,37
+cuttle,2
+cuvier,11
+cyclades,1
+cycloid,1
+cylinders,1
+cylindrically,1
+cymballed,1
+cymballing,1
+cynical,1
+cypher,1
+cyphers,1
+czar,6
+czarship,1
+d'eau,1
+d'wolf,2
+d'ye,33
+da,1
+daboll,2
+dabs,1
+dad,1
+daft,3
+dagger,1
+daggoo,37
+dagon,1
+daily,8
+daintiest,2
+daintiness,1
+dainty,2
+dairy,3
+dale,1
+dalliance,1
+dallied,1
+dam,19
+damage,3
+damaged,2
+damages,4
+dame,1
+dames,2
+damn,10
+damndest,1
+damned,6
+damning,1
+damocles,1
+damp,9
+damped,1
+dampier,1
+damply,1
+dampness,1
+dams,2
+damsels,1
+dan,7
+dance,6
+danced,3
+dancing,9
+dandies,1
+dandy,3
+danes,2
+danger,7
+dangerous,13
+dangling,2
+daniel,4
+danish,4
+dante,1
+dantean,1
+dar'st,1
+darbies,1
+dardanelles,2
+dare,15
+dared,4
+dares,1
+daresn't,1
+darien,1
+daring,8
+dark,58
+darkened,2
+darkens,1
+darker,6
+darkey,1
+darkling,1
+darkly,4
+darkness,32
+darmonodes,1
+dart,25
+darted,38
+darting,14
+dartingly,1
+darts,4
+darwin,1
+dash,9
+dashed,22
+dashes,2
+dashing,8
+dat,20
+data,1
+date,5
+daughter,2
+daughters,4
+daunted,1
+dauntless,1
+dauntlessness,1
+dauphine,1
+davenant,1
+davis,2
+davy,2
+dawn,9
+dawned,1
+dawning,1
+day,176
+daybreak,2
+daylight,9
+days,86
+dazed,1
+dazzling,3
+dazzlingly,2
+de,38
+deacon,5
+dead,92
+deaden,1
+deadening,1
+deadliest,3
+deadliness,1
+deadly,22
+deadreckoning,1
+deaf,3
+deafened,2
+deafening,1
+deal,12
+dealers,2
+dear,10
+dearest,1
+dearly,2
+death,90
+deathful,1
+deaths,1
+debel,1
+debell,1
+debtor,1
+decanter,2
+decanters,2
+decanting,2
+decapitated,3
+decapitating,1
+decapitation,1
+decay,2
+deceased,1
+deceitfully,1
+deceitfulness,2
+deceits,2
+deceive,1
+deceived,2
+deceiving,1
+december,5
+decency,1
+decent,6
+decently,3
+deception,2
+deceptive,2
+decide,2
+decided,5
+decidedly,1
+decipher,1
+deciphered,1
+decision,3
+deck,196
+decks,21
+declare,6
+declared,14
+declares,3
+declaring,3
+decline,3
+declines,2
+declining,1
+decoction,1
+decorated,1
+decoration,1
+decree,1
+decreed,2
+decrees,1
+dedicated,1
+dedicates,1
+dedicating,1
+dedication,1
+deductible,1
+deduction,1
+deed,6
+deeds,2
+deem,3
+deemed,14
+deep,70
+deepening,1
+deepeningly,1
+deeper,19
+deepest,6
+deeply,6
+deeps,4
+deer,4
+defaced,1
+defect,3
+defection,1
+defective,3
+defects,1
+defence,1
+defendants,5
+deferential,1
+defiance,4
+deficiencies,1
+deficiency,3
+defied,1
+defile,2
+defilements,2
+defiles,1
+define,2
+defined,4
+definition,5
+deformed,3
+deformities,1
+deformity,1
+defray,1
+deftly,2
+defunct,2
+defy,3
+defyingly,2
+degenerated,3
+degree,26
+degrees,5
+deified,3
+deity,4
+dejected,1
+del,2
+delay,3
+delectable,1
+delegated,1
+deletions,1
+deliberate,5
+deliberated,1
+deliberately,8
+deliberating,1
+delicacy,7
+delicate,7
+delicately,1
+delicious,3
+deliciousness,2
+delight,18
+delighted,2
+delightful,2
+delightfully,2
+delights,2
+delineate,1
+delineations,2
+delirious,2
+deliriously,3
+delirium,5
+deliriums,1
+deliver,3
+deliverance,5
+delivered,2
+deliverer,2
+delivery,3
+delta,1
+delude,1
+deluge,1
+delusion,2
+delusions,1
+demand,6
+demanded,11
+demanding,3
+demands,1
+demeanor,1
+demi,1
+demigod,2
+demigods,1
+demigorgon,1
+demijohn,1
+democracy,3
+democrat,1
+democratic,2
+demon,3
+demoniac,3
+demonism,1
+demonisms,1
+demonstrable,1
+demonstrate,1
+demonstrations,1
+demselves,1
+den,13
+denderah,1
+denials,1
+denied,4
+denizen,1
+denizens,1
+denominate,1
+denominated,4
+denominating,1
+denote,2
+denoted,3
+denotes,1
+dense,10
+densely,1
+density,2
+dent,3
+dented,4
+dention,2
+dentistical,1
+dentists,1
+dents,5
+denunciations,1
+deny,4
+denying,3
+depart,4
+departed,14
+departing,1
+department,2
+departments,2
+departure,2
+depend,5
+depended,2
+depending,1
+depends,4
+depict,1
+depicted,4
+depicting,2
+deplorably,1
+deplore,1
+deplored,2
+deploy,1
+depose,1
+deposed,1
+deposited,1
+deprecating,1
+deprecatory,1
+depreciates,1
+depressed,1
+depresses,2
+depression,2
+depressions,2
+deprived,1
+depth,10
+depths,10
+deputation,1
+dere,2
+derick,12
+dericks,1
+deriding,1
+derision,1
+derisive,1
+derivative,3
+derive,7
+derived,11
+derives,1
+descartian,1
+descend,12
+descendants,1
+descended,5
+descending,10
+descends,2
+descent,3
+describe,3
+described,9
+describes,1
+describing,1
+descried,22
+description,7
+descriptively,1
+descry,1
+descrying,3
+desecrated,1
+desert,8
+deserted,5
+deserts,2
+deserve,2
+deserved,3
+deserves,3
+deserving,1
+design,4
+designated,5
+designates,1
+designation,1
+designs,2
+desirable,3
+desire,8
+desired,11
+desires,4
+desiring,1
+desirous,1
+desist,4
+desisted,2
+desk,4
+desks,1
+desmarest,2
+desolate,4
+desolateness,1
+desolation,4
+despair,9
+despairing,3
+despatch,1
+despatched,1
+desperado,3
+desperadoes,2
+desperate,12
+desperation,1
+despised,1
+despite,2
+despot,1
+destination,2
+destinations,1
+destined,7
+destiny,2
+destitute,2
+destroy,6
+destroyed,10
+destroyer,1
+destroying,2
+destroys,1
+destruction,7
+destructive,1
+detach,1
+detached,10
+detail,5
+detailed,4
+details,3
+detained,1
+detect,2
+detected,1
+detects,1
+determinate,3
+determination,1
+determine,2
+determined,6
+determining,1
+detestable,2
+detestation,2
+detract,1
+deuteronomy,4
+developed,3
+developing,1
+development,2
+developments,1
+deviations,1
+device,2
+devices,3
+devil,56
+devilish,9
+devilishness,1
+devils,17
+devious,3
+devote,1
+devoted,2
+devotee,1
+devotees,1
+devoting,1
+devoured,2
+devouring,4
+devout,4
+devoutly,2
+dew,2
+dewy,1
+dexterities,1
+dexterity,2
+dexterous,6
+dexterously,2
+dey,7
+diaboli,1
+diabolical,2
+diabolically,1
+diabolism,2
+diadem,1
+diademed,1
+diagonal,1
+diagonically,1
+dial,3
+diameter,3
+diametrically,1
+diamond,3
+diaz,1
+dick,89
+dictating,2
+dictator,2
+dictatorship,1
+dictionaries,1
+dictionary,5
+did,254
+did'st,4
+diddled,2
+didn't,33
+didst,9
+die,30
+died,20
+dies,6
+diet,3
+dietetically,1
+differ,2
+difference,18
+differences,1
+different,25
+differs,2
+difficulties,2
+difficulty,4
+diffused,3
+dig,8
+digest,2
+digester,1
+digesting,2
+digestion,2
+digestive,1
+digger,3
+digging,1
+dignified,1
+dignity,20
+digressively,1
+dilapidated,2
+dilated,2
+dilating,1
+diligence,1
+diligent,2
+diligently,7
+diluted,1
+diluvian,1
+dim,20
+dimensioned,1
+dimensions,4
+diminish,4
+diminished,6
+dimly,9
+dimmed,1
+din,4
+dined,4
+dines,1
+ding,6
+dining,3
+dinner,18
+dinnerless,1
+dinning,1
+dint,3
+dinting,1
+dip,5
+dipped,3
+dippers,1
+dipping,3
+direct,12
+directed,6
+directing,3
+direction,15
+directions,9
+directly,21
+director,1
+direful,10
+direst,3
+dirgelike,1
+dirty,2
+dis,1
+disable,1
+disabled,3
+disadvantage,1
+disaffection,1
+disagreeable,2
+disappearance,2
+disappeared,15
+disappearing,3
+disappears,3
+disappointed,3
+disaster,4
+disasters,4
+disastrous,3
+disbands,1
+disbelief,1
+discerned,2
+discernible,5
+discernment,2
+discerns,1
+discharge,1
+discharged,3
+discharges,1
+discharging,1
+disciple,1
+disciples,2
+discipline,1
+disclaim,1
+disclaimer,3
+disclaimers,1
+disclosed,2
+disclosures,2
+discolour,1
+discoloured,2
+discomforts,1
+disconnected,1
+discontinue,1
+discount,2
+discourse,1
+discourseth,1
+discoursing,2
+discover,8
+discovered,11
+discoverer,2
+discoverers,1
+discoveries,1
+discovering,1
+discovers,1
+discovery,11
+discreditably,1
+discreet,1
+discreetly,1
+discretion,2
+discriminating,1
+discrimination,1
+disdain,4
+disdained,2
+disease,1
+disembowelled,1
+disembowelments,1
+disencumber,1
+disengaged,4
+disentangling,1
+disgorge,1
+disguise,1
+disguisement,1
+disguises,1
+disgust,2
+disgusted,1
+dish,10
+disheartening,1
+dishes,1
+dishonour,2
+disincline,1
+disinfecting,1
+disintegrate,1
+disinterested,1
+disinterred,2
+disjointedly,1
+disk,1
+disks,1
+dislike,1
+dislocated,1
+dislocation,1
+dislodged,1
+dismal,8
+dismally,2
+dismantled,2
+dismasted,5
+dismasting,1
+dismay,5
+dismember,1
+dismembered,1
+dismemberer,1
+dismembering,1
+dismemberment,1
+dismissal,1
+dismissed,1
+disobedience,2
+disobey,2
+disobeying,1
+disorder,1
+disordered,5
+disorderliness,1
+disorderly,1
+disorders,1
+disparagement,1
+dispel,1
+dispensed,1
+dispenses,1
+dispersed,2
+dispirited,1
+dispirits,1
+displaced,1
+display,2
+displayed,4
+displaying,4
+displays,2
+disport,1
+disposed,4
+disposing,2
+disposition,3
+disproved,1
+dispute,1
+disputes,1
+disputing,2
+disquietude,1
+disrated,1
+disreputable,1
+dissatisfaction,1
+dissect,2
+dissection,1
+JArod
+dissemble,1
+dissembling,2
+dissent,1
+dissertations,1
+dissimilar,2
+dissociated,1
+dissolutions,1
+dissolve,1
+dissolved,1
+distance,39
+distances,2
+distant,21
+distantly,3
+distended,4
+distension,2
+distilled,1
+distinct,16
+distinction,4
+distinctions,3
+distinctive,2
+distinctly,8
+distinguish,4
+distinguished,7
+distinguishing,1
+distortions,1
+distracted,4
+distraction,1
+distress,3
+distressed,2
+distribute,6
+distributed,6
+distributing,7
+distribution,6
+distributor,1
+district,3
+districts,3
+distrust,1
+distrusted,4
+distrustful,4
+distrusting,2
+disturb,1
+disturbing,2
+ditchers,1
+ditches,1
+ditto,1
+dive,8
+dived,11
+diver,3
+diverged,3
+divers,4
+diversion,2
+diverting,1
+dives,3
+divide,4
+divided,10
+dividends,1
+divides,1
+dividing,7
+divine,8
+divined,1
+divinely,2
+divineness,2
+divinest,1
+diving,6
+divings,1
+divinity,1
+division,1
+divisions,1
+divorced,1
+divulged,3
+do,324
+docile,2
+dock,1
+JArod
+docked,1
+docks,5
+doctor,2
+doctored,1
+doctors,4
+doctrine,2
+documents,2
+dodge,3
+dodges,1
+dodging,3
+doer,1
+does,97
+doesn't,3
+dog,19
+dogged,1
+doggedly,1
+dogger,1
+dogging,2
+dogs,8
+doing,15
+doleful,2
+dollar,2
+dollars,7
+dolly,1
+dolphin,4
+dolphins,3
+doltish,1
+domain,9
+dome,3
+domed,1
+domes,1
+domestic,10
+domesticated,1
+domineer,1
+domineered,1
+domineering,2
+domineerings,1
+dominic,2
+dominion,3
+don,20
+don't,119
+donate,4
+donation,1
+donations,15
+done,74
+dong,3
+donkey,2
+donned,1
+donning,1
+donors,1
+dons,3
+dood,2
+doom,16
+doomed,3
+door,45
+doored,1
+doors,8
+doorway,2
+dorchester,1
+dorsal,1
+dost,21
+dotings,1
+dotted,5
+double,16
+doubling,1
+doubloon,20
+doubloons,7
+doubly,1
+doubt,32
+doubted,5
+doubting,2
+doubtless,13
+doubts,6
+dough,17
+douse,1
+dover,1
+dowers,1
+down,378
+downcast,2
+downloading,1
+downright,5
+downtown,1
+downward,10
+downwards,12
+doxology,2
+doze,5
+dozed,1
+dozen,1
+dr,8
+drab,5
+drabbest,1
+draft,1
+drag,15
+dragged,17
+dragging,7
+draggingly,1
+dragon,6
+dragons,1
+drags,4
+drain,1
+drained,1
+drama,3
+dramatic,3
+dramatically,1
+dramatist,1
+drank,2
+drat,2
+draught,5
+draughts,2
+draughtsmen,1
+draw,12
+drawbacks,1
+drawers,7
+drawing,33
+drawings,4
+drawled,1
+drawlingly,1
+drawn,26
+draws,1
+dread,12
+dreaded,4
+dreadful,6
+dreadfully,3
+dreadnaught,1
+dream,10
+dreamed,3
+dreamiest,1
+dreaminess,2
+dreaming,6
+dreams,8
+dreamt,1
+dreamy,4
+dreary,6
+drench,1
+drenched,3
+drenching,1
+dress,4
+dressed,7
+dressing,1
+drew,22
+dribbles,1
+dried,8
+drift,1
+drifted,3
+drifting,3
+driftings,1
+drifts,1
+drilled,1
+drills,1
+drink,18
+drinking,5
+drinks,2
+dripping,9
+drippings,1
+drive,19
+drive'em,1
+driven,10
+driver,4
+drivers,1
+drives,3
+driving,9
+drizzly,1
+dromedary,4
+drooping,7
+droopings,1
+drop,25
+dropped,27
+dropping,18
+drops,6
+dropt,2
+drought,3
+drove,3
+droves,1
+drown,6
+drowned,12
+drowning,3
+drowns,1
+drowsiness,1
+drowsy,2
+drug,1
+drugg,3
+drugged,7
+drugging,1
+druggist,1
+druggists,1
+druggs,1
+drums,1
+drumsticks,1
+drunk,2
+drunkard,1
+drunken,3
+dry,15
+dryden,1
+dubious,3
+dubiously,1
+ducat,1
+duck,3
+ducked,1
+ducking,4
+ducks,1
+due,6
+duelled,1
+duellist,1
+duels,1
+duff,1
+dug,3
+dugongs,1
+duke,9
+dull,7
+duly,6
+dumb,12
+dumbest,1
+dumbly,2
+dumfoundered,1
+dumpling,1
+dumplings,6
+dumps,1
+dun,1
+dunder,1
+dunfermline,1
+dung,1
+dungeoned,1
+dunkirk,1
+duodecimo,8
+duodecimoes,2
+duplicate,3
+duplicates,1
+durability,1
+durable,1
+durand,1
+durer,1
+during,32
+durst,3
+dusk,2
+duskier,1
+dusky,5
+dust,10
+dusting,2
+dusty,3
+dut,1
+dutch,26
+dutchman,1
+duties,3
+duty,25
+dwarfed,1
+dwelling,2
+dwells,1
+dwelt,1
+dying,14
+dyspepsia,4
+dyspepsias,1
+dyspeptic,2
+e,22
+e'en,2
+each,129
+eager,13
+eagerly,8
+eagerness,8
+eagle,5
+ear,12
+earl,1
+earlier,5
+earliest,3
+earls,1
+early,11
+earned,3
+earnest,10
+earnestly,7
+earnestness,3
+ears,26
+earth,46
+earthly,16
+earthquake,4
+earthquakes,2
+earthsman,1
+earthy,2
+ease,9
+easier,2
+easiest,2
+easily,10
+east,22
+easterly,1
+eastern,4
+eastward,10
+eastwards,1
+easy,40
+eat,11
+eatable,1
+eaten,3
+eating,12
+eats,3
+eave,1
+eaves,1
+eavesdroppers,1
+ebb,2
+ebbs,1
+eber,3
+ebon,1
+ebonness,1
+ebony,4
+ebook,10
+ebooks,7
+eccentric,1
+ecclesiastes,1
+echo,2
+echoed,2
+echoes,1
+eckerman,1
+eckermann,1
+ecliptics,1
+economic,1
+economical,2
+economically,1
+ecuador,1
+eddied,1
+eddies,3
+eddy,3
+eddying,4
+eddyings,1
+eddystone,2
+edge,8
+edged,2
+edges,3
+edgewise,1
+edging,1
+edict,1
+edifices,1
+edition,4
+editions,4
+edmund,3
+educated,1
+education,1
+educational,1
+edward,1
+ee,3
+eel,2
+eels,1
+eely,1
+effaced,3
+effect,15
+effected,3
+effects,2
+effectual,1
+effectually,3
+effeminacy,3
+efficiency,1
+efficient,1
+effort,5
+efforts,3
+effulgences,2
+effulgent,2
+eggs,1
+ego,1
+egotistical,2
+egress,2
+egypt,3
+egyptian,7
+egyptians,4
+eh,19
+ehrenbreitstein,1
+eider,1
+eight,27
+eighteen,7
+eightieth,1
+eighty,4
+ein,1
+either,41
+ejaculated,1
+ejaculates,1
+ejaculation,1
+elaborate,2
+elaborately,1
+elaboration,1
+elapse,2
+elapsed,4
+elastic,7
+elasticity,3
+elated,2
+elbe,1
+elbow,1
+elbowed,3
+elder,1
+elderly,1
+elders,1
+elect,1
+elected,1
+election,1
+electors,1
+electric,1
+electricity,1
+electronic,27
+electronically,2
+elegant,2
+element,11
+elemental,1
+elements,8
+elephant,19
+elephanta,2
+elephants,11
+elevate,1
+elevated,11
+elevates,1
+elevating,3
+elevation,1
+elevations,1
+eleven,2
+eleventh,1
+elijah,15
+eliza,1
+elizabeth,1
+elks,1
+ellenborough,2
+ellery,1
+elm,1
+elongated,1
+eloped,1
+eloquent,1
+eloquently,1
+else,46
+elsewhere,13
+elucidate,1
+elucidated,3
+elucidating,1
+eluded,3
+eludes,2
+eluding,1
+elusive,3
+elves,1
+em,40
+email,3
+embalmed,6
+embalming,1
+embark,5
+embarked,3
+embarking,1
+embarks,1
+embarrassed,1
+embattled,2
+embattling,1
+embayed,1
+embellished,3
+embellishments,1
+emblazoned,1
+emblazoning,1
+emblazonings,2
+emblem,2
+emblematical,2
+embodied,1
+embodiment,3
+emboldened,2
+embonpoint,1
+embrace,3
+embraced,4
+embraces,5
+embracing,4
+emerge,3
+emerged,5
+emergencies,3
+emerging,2
+emetic,1
+emigrant,1
+emigrants,2
+eminence,1
+eminent,1
+eminently,1
+emir,3
+emoluments,1
+emotion,5
+emotions,6
+emperor,6
+emperors,5
+emphasis,2
+emphatically,1
+empire,6
+empires,1
+employ,2
+employed,15
+employee,1
+employees,2
+employment,1
+employments,2
+employs,2
+emprise,1
+emptied,3
+empties,1
+empty,22
+emptying,1
+emulation,1
+en,1
+enable,4
+enabled,3
+enacted,1
+enactment,1
+encamp,1
+encamped,1
+encasing,1
+enchanted,12
+enchanter,1
+enchanting,1
+enchantment,1
+encircles,1
+encircling,2
+enclosed,1
+encoding,1
+encompassed,1
+encore,1
+encounter,16
+encountered,16
+encountering,6
+encounters,4
+encouraged,1
+end,102
+endangered,3
+endearments,1
+endeavor,4
+endeavored,3
+endeavors,4
+ended,7
+enderbies,1
+enderby,7
+enderbys,1
+endless,15
+endlessly,1
+endlessness,1
+ends,19
+endued,1
+endurance,1
+endure,10
+endures,1
+enduring,2
+endwise,2
+enemies,2
+enemy,5
+energies,1
+energy,7
+enfeebled,1
+enfoldings,1
+enforced,1
+engage,2
+engaged,18
+engaging,1
+engendered,1
+engendering,2
+engine,1
+engineering,1
+engines,2
+england,20
+englander,1
+english,50
+englishman,5
+englishmen,2
+engrafted,1
+engraved,2
+engraven,1
+engraving,4
+engravings,6
+engrossed,1
+engrossing,1
+engulphed,1
+enhance,1
+enhances,2
+enhancing,1
+enigmatical,2
+enjoined,1
+enjoining,1
+enjoins,1
+enjoy,5
+enjoyed,1
+enjoying,2
+enjoyments,1
+enjoys,1
+enkindling,1
+enlarge,3
+enlarged,2
+enlarges,1
+enlightened,4
+enlightening,1
+enlist,2
+enlisting,1
+enlivened,2
+enormous,26
+enormousness,3
+enough,76
+enraged,6
+enriched,2
+enrolled,3
+ensconced,1
+enshrined,1
+ensigns,2
+enslaved,1
+ensue,2
+ensued,4
+ensuing,3
+ensuring,1
+entablatures,1
+entailed,2
+entangle,1
+entangled,5
+entangling,1
+enter,11
+entered,14
+entering,8
+enterprise,4
+enterprises,1
+enters,5
+entertaining,2
+entertainment,1
+enthrone,1
+enthusiasm,1
+enticing,1
+enticings,1
+entire,55
+entirely,29
+entitle,1
+entitled,10
+entity,3
+entombment,1
+entrails,1
+entrance,6
+entranced,1
+entrances,2
+entrapped,2
+entreat,2
+entreated,1
+entreaties,2
+entreaty,2
+entrenched,1
+entrenchments,1
+entry,8
+enumerate,1
+enumerated,1
+envelope,4
+enveloped,4
+envelopes,2
+enveloping,3
+enviable,1
+envied,1
+envious,1
+envoy,1
+envy,1
+epaulets,3
+ephesian,1
+epicurean,1
+epicures,2
+epidemic,3
+epilogue,1
+episode,1
+epitaphs,1
+epitome,1
+equal,14
+equality,3
+equalled,2
+equally,8
+equanimity,1
+equator,11
+equatorial,7
+equinoctial,1
+equinox,2
+equipment,3
+equipped,1
+equity,1
+equivalent,1
+ere,79
+erect,14
+erected,5
+erecting,2
+erection,2
+erections,2
+erectly,1
+ergo,2
+erie,4
+eris,1
+ermine,1
+err,1
+errand,5
+errantism,1
+erring,1
+erromanggoans,1
+erromangoan,1
+erroneous,1
+error,3
+errors,4
+erskine,4
+erudite,2
+erudition,1
+eruption,1
+esau,1
+escape,24
+escaped,11
+escapes,1
+escaping,4
+eschewed,1
+especially,45
+espied,1
+espying,1
+esquimaux,2
+essay,1
+essayed,1
+essaying,1
+essays,3
+essence,4
+essences,1
+essential,3
+essentially,2
+essex,3
+establish,3
+established,3
+establishing,1
+establishment,1
+estate,1
+esteem,4
+esteemed,2
+esteemeth,1
+estimate,2
+estimated,3
+estimation,3
+et,2
+etc,3
+etchings,1
+eternal,19
+eternally,7
+eternam,1
+eternities,3
+eternity,6
+etext,1
+etexts,1
+ether,1
+ethereal,1
+etherial,1
+ethiopian,2
+etymology,1
+euclid,1
+euclidean,1
+eulogy,1
+euroclydon,5
+europa,1
+europe,5
+european,2
+evade,2
+evanescence,1
+evanescent,1
+evangelical,2
+evangelist,3
+evangelists,3
+evaporate,2
+evaporates,1
+eve,4
+even,193
+evening,18
+evenly,2
+event,11
+events,15
+eventual,1
+eventually,8
+eventuated,1
+ever,205
+everlasting,9
+everlastingly,1
+evermore,3
+every,232
+everybody,7
+everything,20
+everythings,1
+everyway,1
+everywhere,7
+evidence,2
+evil,12
+evilly,1
+evince,3
+evinced,21
+evinces,1
+evincing,1
+evoke,1
+evolution,1
+evolutions,1
+evolved,1
+ewer,1
+ex,5
+exact,8
+exacted,1
+exactitude,1
+exactly,24
+exactness,1
+exaggerate,1
+exaggerating,1
+exalted,3
+examination,1
+examine,4
+examined,2
+examining,1
+example,18
+examples,4
+exasperate,1
+exasperated,6
+exasperating,2
+exasperations,1
+excavating,2
+excavation,1
+exceed,7
+exceeded,2
+exceeding,12
+exceedingly,15
+exceeds,1
+excel,1
+excellence,3
+excellent,12
+excellently,1
+except,34
+excepting,5
+exception,2
+exceptionable,1
+excessive,2
+excessively,1
+exchange,2
+exchanged,2
+exchanging,2
+excite,2
+excited,8
+excitedly,1
+excitement,6
+excitements,1
+exciting,2
+exclaimed,15
+exclaiming,2
+exclamation,5
+exclamations,4
+exclude,1
+excluded,1
+excludes,1
+excluding,1
+exclusion,2
+exclusive,1
+exclusiveness,2
+excursion,1
+excuse,2
+execrations,1
+execute,1
+executed,2
+executioner,1
+executive,1
+executor,1
+executors,2
+exegetist,1
+exegetists,1
+exemplary,1
+exempt,2
+exercise,3
+exercises,1
+exert,2
+exerted,1
+exertion,2
+exertions,1
+exhale,2
+exhaled,3
+exhaling,1
+exhaust,2
+exhausted,5
+exhausting,2
+exhaustion,3
+exhaustive,1
+exhibit,1
+exhibited,3
+exhibiting,2
+exhibition,2
+exhilarating,2
+exhort,1
+exhumed,1
+exile,1
+exiled,2
+exist,4
+existence,7
+existing,2
+exists,5
+exordium,1
+exotic,1
+expand,6
+expanded,5
+expanding,1
+expandingly,1
+expands,2
+expanse,3
+expanses,1
+expansion,2
+expansive,2
+expansiveness,1
+expatiate,3
+expect,4
+expectant,2
+expectantly,2
+expected,7
+expediency,1
+expedition,2
+expeditions,1
+expend,1
+expending,1
+expense,6
+expenses,3
+expensive,2
+experience,10
+experienced,11
+experiences,5
+experiment,4
+experimental,1
+experiments,1
+expert,1
+expertness,1
+expired,2
+expiring,3
+explain,8
+explained,4
+explanation,3
+explanatory,1
+exploded,1
+exploding,1
+exploit,2
+explored,2
+exploring,1
+explosion,1
+exported,1
+exporting,1
+expose,4
+exposed,5
+exposes,2
+exposing,1
+expostulations,1
+exposure,2
+expound,1
+express,9
+expressed,5
+expresses,1
+expressing,2
+expression,9
+expressions,2
+expressive,3
+expressly,1
+exquisitely,1
+extant,3
+extend,1
+extended,5
+extending,8
+extension,1
+extensive,3
+extent,6
+exterior,3
+exterminated,1
+exterminates,1
+extermination,1
+external,12
+externals,2
+extinct,3
+extinction,2
+extinguished,2
+extinguishing,1
+extorting,1
+extra,6
+extract,1
+extracted,5
+extracting,2
+extracts,6
+extraordinary,7
+extras,1
+extravaganzas,1
+extreme,13
+extremely,3
+extremes,1
+extremest,2
+extremities,2
+extremity,9
+exultation,1
+exulting,2
+exultingly,1
+eye,88
+eyed,9
+eyeing,27
+eyelashes,1
+eyeless,1
+eyelids,1
+eyes,156
+eyest,1
+ezekiel,2
+f,1
+fa,2
+fable,5
+fabled,2
+fabric,2
+fabricated,1
+fabulous,5
+fac,1
+face,95
+faced,5
+faces,15
+facetious,3
+facetiousness,1
+facilitate,1
+facilitating,1
+facility,2
+facing,5
+fact,46
+faction,1
+factories,1
+facts,7
+faculties,1
+faded,5
+fadeless,1
+fades,1
+fadest,1
+fading,3
+faerie,1
+fagged,2
+fagot,1
+fail,17
+failed,4
+failures,2
+fain,20
+faint,11
+fainter,2
+faintest,2
+fainting,2
+faintly,3
+faintness,1
+fair,34
+fairbanks,1
+fairer,1
+fairest,1
+fairly,16
+fairy,3
+faith,15
+faithful,7
+faithfully,2
+faithfulness,2
+falconer,1
+fall,20
+fallacious,1
+fallen,4
+falling,12
+falls,2
+false,7
+falsehood,1
+falsely,1
+falsified,1
+faltering,2
+famed,3
+familiar,5
+familiarity,1
+familiarly,5
+families,2
+family,12
+familyless,1
+famine,2
+famishing,1
+famous,37
+fan,5
+fanatic,2
+fanatics,1
+fancied,9
+fancies,3
+fanciful,1
+fancy,26
+fancying,2
+fang,2
+fanged,1
+fangs,3
+fanning,3
+fantastic,2
+fantasy,1
+far,165
+farces,1
+fare,10
+fared,1
+fares,1
+farewell,4
+farings,1
+farmer,1
+farmers,1
+farrago,1
+farthing,1
+farthingale,1
+fasces,1
+fascinated,2
+fashion,11
+fashionables,1
+fashioned,12
+fashions,2
+fast,63
+fasten,5
+fastened,11
+fastener,1
+fastening,4
+fastenings,1
+faster,4
+fastidious,2
+fasting,4
+fat,14
+fata,1
+fatal,17
+fatalistic,1
+fatalists,1
+fatalities,1
+fatality,7
+fatally,2
+fate,16
+fated,1
+fates,6
+father,27
+fatherless,1
+fathers,4
+fathom,2
+fathomless,1
+fathoms,13
+fatness,1
+fattening,1
+fatter,1
+fattest,1
+fault,3
+faulty,1
+favour,3
+favourable,1
+favoured,1
+favouring,2
+favourite,4
+favourites,1
+fawned,1
+fe,1
+fear,33
+feared,2
+fearful,12
+fearfully,2
+fearfulness,3
+fearing,1
+fearless,8
+fearlessly,2
+fearlessness,2
+fears,6
+feast,6
+feasted,1
+feastest,1
+feasting,1
+feasts,2
+feat,6
+feather,3
+feathering,1
+feathers,3
+feathery,1
+feats,1
+feature,5
+featured,1
+features,11
+featuring,1
+february,1
+fed,6
+fedallah,27
+federal,2
+federated,1
+fee,9
+feeble,2
+feebler,1
+feebly,1
+feed,3
+feeder,7
+feeders,2
+feeding,10
+feeds,4
+feegee,1
+feegeeans,1
+feegees,1
+feel,57
+feelest,1
+feeling,28
+feelingly,2
+feelings,6
+feels,16
+fees,4
+feet,127
+fegee,1
+feigned,1
+feints,1
+fejee,3
+felicities,1
+felicity,2
+feline,1
+fell,36
+felled,1
+fellow,54
+fellows,11
+felonious,1
+felt,41
+female,3
+females,2
+feminam,1
+feminine,2
+fence,2
+fenced,1
+fencer,1
+fencing,1
+ferdinando,1
+fernandes,1
+ferns,1
+ferocious,2
+ferociousness,1
+ferocity,4
+ferreting,1
+ferrule,2
+ferry,2
+fertilely,1
+fertility,1
+ferule,2
+fervent,1
+festival,1
+festivities,1
+festoon,2
+festooned,1
+festooning,1
+festoons,1
+fetch,11
+fetched,1
+fetches,1
+fetching,4
+fetid,1
+fetor,1
+fettered,1
+feud,1
+fever,4
+feverish,1
+feverishly,1
+fevers,2
+few,95
+fewer,1
+fibres,6
+fibrous,1
+fickleness,1
+fictitious,1
+fictitiously,1
+fiddle,2
+fiddler,1
+fidelities,1
+fidelity,4
+field,12
+fields,8
+fiend,8
+fiendish,1
+fiends,5
+fierce,11
+fiercely,6
+fierceness,1
+fiercer,1
+fiery,24
+fife,2
+fifteen,11
+fifth,7
+fifties,1
+fiftieth,2
+fifty,33
+fight,19
+fighting,5
+fights,3
+figuera,1
+figure,19
+figured,3
+figures,7
+filaments,1
+file,8
+filed,3
+filers,1
+files,4
+filial,1
+filing,1
+fill,16
+filled,22
+filling,5
+filliping,1
+fin,34
+final,29
+finally,27
+financial,1
+find,56
+finding,8
+finds,9
+fine,59
+finer,1
+finest,6
+finger,13
+fingers,14
+finical,1
+finish,2
+finished,5
+finite,1
+finny,2
+fins,15
+fire,76
+fireboard,2
+fired,3
+fireplaces,1
+fires,4
+fireside,4
+firewood,1
+firkins,1
+firm,15
+firma,1
+firmament,3
+firmaments,1
+firmer,1
+firmest,1
+firmly,12
+firmness,3
+first,235
+fish,169
+fished,1
+fisheries,4
+fisherman,7
+fishermen,28
+fishers,4
+fishery,65
+fishes,5
+fishiest,1
+fishing,2
+fishy,4
+fissure,2
+fissures,1
+fist,2
+fists,1
+fit,16
+fitful,2
+fitfully,1
+fitly,2
+fitness,2
+fits,7
+fitted,12
+fitting,1
+fittings,1
+fitz,1
+five,44
+fix,2
+fixed,38
+fixedly,4
+fixes,1
+fixing,1
+fixture,1
+flag,18
+flagon,1
+flags,1
+flail,1
+flailed,1
+flailing,1
+flailings,1
+flake,1
+flaked,1
+flakes,3
+flaky,1
+flambeaux,1
+flame,17
+flames,16
+flaming,5
+flank,13
+flanked,1
+flanking,1
+flanks,7
+flannel,1
+flap,2
+flapped,1
+flash,8
+flashed,3
+flashes,5
+flashing,5
+flashings,1
+flask,108
+flasks,1
+flat,8
+flatly,1
+flattening,1
+flatter,1
+flattering,2
+flavor,4
+flavorish,1
+flaw,1
+flaxen,2
+flea,2
+fled,6
+flee,5
+fleece,12
+fleeces,1
+fleecy,2
+fleet,11
+fleeting,2
+fleetness,3
+fleets,3
+flesh,23
+fleshy,2
+flew,23
+flexibility,1
+flexible,3
+flexion,1
+flexions,1
+flickering,1
+flies,7
+flight,9
+flights,3
+fling,4
+flingers,1
+flinging,7
+flint,2
+flints,1
+flinty,1
+flip,7
+flipped,1
+flirted,2
+flitted,1
+flitting,6
+float,9
+floated,18
+floating,26
+floats,11
+flock,1
+floes,1
+flog,2
+flogged,2
+flogging,2
+flood,15
+flooded,3
+floods,1
+floor,20
+floors,2
+floundered,3
+floundering,3
+flounders,2
+flour,1
+flourish,3
+flourished,3
+flourishin,1
+flourishing,1
+flourishings,1
+flouts,1
+flow,6
+flowed,4
+flower,2
+flowered,1
+flowering,1
+flowers,4
+flowery,3
+flowing,4
+flows,4
+flues,1
+fluid,8
+fluke,7
+flukes,37
+fluking,1
+flume,1
+flung,11
+flurry,3
+flush,1
+flushed,1
+fluttering,3
+flutterings,2
+fly,14
+flyin,1
+flying,30
+foal,1
+foaled,1
+foam,19
+foamin,1
+foaming,3
+foamingly,1
+foamy,1
+fobbing,2
+focus,1
+foe,14
+foes,6
+foetal,1
+fog,3
+foggy,1
+fogo,1
+fogs,1
+foible,1
+foibles,1
+foie,1
+foiled,2
+fold,6
+folded,8
+folder,1
+folding,3
+folds,6
+folger,1
+folgers,1
+folio,16
+folios,2
+folks,3
+follow,21
+followed,26
+following,27
+follows,4
+folly,2
+fond,6
+fondly,1
+food,14
+fool,16
+fooling,1
+foolish,17
+foolishly,2
+fools,3
+foot,33
+footed,4
+footfall,1
+foothold,1
+footman,1
+footmanism,1
+footpads,1
+footpath,1
+footstep,1
+for,1646
+forbade,5
+forbear,3
+forbearance,3
+forbearing,1
+forbid,1
+forbidden,1
+forbidding,3
+forbids,1
+forborne,1
+force,12
+forced,19
+forces,3
+forcibly,3
+fore,24
+foreboding,3
+forebodings,2
+forecast,1
+forecastle,37
+forecastles,1
+forefinger,1
+foregoing,2
+foregone,1
+foreground,1
+forehead,38
+foreheads,2
+foreign,8
+foreknew,1
+foremast,6
+foremastmen,1
+foremost,11
+forenoon,3
+forerunning,1
+foresail,1
+foreseeing,2
+foreseen,1
+foreshadowing,2
+foreshortened,1
+forests,5
+foretell,1
+forethrown,1
+forewarned,1
+forewarnings,1
+forfeitures,1
+forge,12
+forged,6
+forger,1
+forges,1
+forget,11
+forgetful,1
+forgetfulness,1
+forgets,1
+forgetting,1
+forging,3
+forgive,1
+forgot,3
+forgotten,9
+fork,3
+forked,6
+forking,1
+forks,3
+forlorn,3
+forlornly,1
+forlornness,1
+form,50
+formal,2
+formally,1
+format,4
+formation,3
+formations,3
+formats,2
+formed,22
+former,20
+formerly,1
+formidable,2
+forming,14
+formless,2
+formosa,1
+forms,12
+fornication,1
+forsake,1
+forsaken,1
+forswearing,1
+forswears,1
+fort,1
+forth,60
+forthing,1
+forthwith,4
+fortifications,1
+fortitude,5
+fortress,2
+fortresses,2
+forts,1
+fortunately,1
+fortune,2
+fortunes,3
+forty,33
+forward,52
+forwards,5
+fossil,4
+fossiliferous,2
+fossils,3
+foster,1
+fought,4
+foul,11
+foulness,1
+found,118
+foundation,28
+foundations,4
+founded,5
+founder,2
+foundered,1
+foundering,3
+foundling,2
+fountain,9
+fountains,4
+four,74
+fours,1
+fourteen,1
+fourth,13
+fourths,2
+fowl,10
+fowls,11
+fragmentary,2
+fragments,3
+fragrance,1
+fragrant,6
+frail,1
+frame,4
+frames,1
+framework,1
+france,5
+frank,1
+frankfort,1
+frankincense,1
+franklin,1
+frankly,3
+frantic,15
+fraternity,2
+fray,1
+frayed,1
+freckled,1
+freckles,1
+frederick,5
+free,37
+freebooters,1
+freebooting,1
+freed,2
+freedom,2
+freely,16
+freer,2
+freewill,1
+freeze,1
+freezing,2
+freight,1
+freighted,9
+french,23
+frenchman,7
+frenchmen,1
+frenzied,1
+frenzies,1
+frenzy,1
+frequency,1
+frequent,3
+frequented,5
+frequently,15
+fresh,32
+freshened,1
+freshening,1
+fresher,1
+freshet,2
+freshets,2
+freshly,2
+freshness,1
+friar,2
+friction,1
+friend,26
+friendliness,1
+friendly,4
+friends,17
+friendship,2
+friesland,2
+frigate,6
+frigates,2
+fright,7
+frighted,3
+frighten,2
+frightened,6
+frightens,2
+frightful,3
+frights,1
+frigid,3
+fringed,1
+fringing,1
+frisky,1
+fritters,3
+fro,17
+frobisher,1
+frock,4
+frocks,2
+frogs,1
+froissart,1
+frolic,2
+from,1105
+front,25
+frontier,1
+frontiers,1
+fronting,1
+frontispiece,1
+fronts,3
+frost,8
+frosted,2
+frosts,2
+frosty,4
+frothed,1
+frowned,1
+froze,1
+frozen,10
+frugal,1
+fruit,3
+fruition,1
+fruits,1
+frustrate,1
+fry,3
+fuddled,1
+fuego,1
+fuel,4
+fugitive,6
+fulfiller,1
+fulfilment,1
+full,136
+fuller,2
+fullers,1
+fullest,4
+fulller,1
+fully,16
+fumbled,1
+fumbling,3
+fumes,1
+fun,6
+function,1
+functionary,1
+functions,2
+fundamental,1
+fundamentals,1
+fundraising,1
+funeral,5
+funereal,1
+funereally,1
+fungi,1
+funny,7
+fur,1
+furious,7
+furiously,6
+furl,1
+furled,2
+furlongs,3
+furls,1
+furnace,3
+furnaces,2
+furnish,9
+furnished,16
+furnishes,3
+furnishing,4
+furniture,5
+furred,1
+furrow,1
+furrowed,1
+furs,1
+further,62
+furthermore,7
+furthest,5
+fury,9
+fusee,1
+fuss,2
+future,18
+futures,1
+fuzzing,1
+g'uttons,1
+gable,4
+gabled,1
+gabriel,20
+gaff,2
+gaffman,2
+gaffs,1
+gag,2
+gagged,1
+gaily,2
+gain,13
+gained,14
+gaining,10
+gains,1
+gainsaid,2
+gainst,2
+gait,2
+gale,28
+gales,3
+gall,2
+gallant,13
+gallantly,1
+gallantry,2
+galleries,1
+gallery,3
+galley,1
+gallied,3
+galliot,2
+galliots,1
+gallipagos,2
+gallon,2
+gallons,5
+gallop,1
+gallopingly,1
+gallows,5
+galls,1
+gam,7
+gamboge,1
+gambol,1
+game,22
+gamesome,5
+gamesomeness,2
+gamming,2
+gamy,3
+ganders,1
+gang,1
+ganges,1
+gangs,2
+gangway,6
+gap,1
+gape,1
+gaped,2
+gaping,3
+garden,6
+gardening,1
+gardenny,1
+gardens,3
+gardiner,2
+garments,1
+garnery,4
+garnished,2
+garrison,1
+garter,1
+garters,1
+gas,2
+gaseous,1
+gases,2
+gash,3
+gashed,1
+gasp,4
+gasped,1
+gasping,4
+gaspings,1
+gasps,2
+gastric,1
+gate,5
+gates,2
+gateway,2
+gateways,1
+gather,3
+gather'd,1
+gathered,8
+gathering,3
+gathers,2
+gaudiest,1
+gaunt,5
+gauntleted,1
+gave,38
+gay,21
+gayer,2
+gayhead,2
+gaze,17
+gazed,10
+gazer,2
+gazers,1
+gazes,1
+gazette,1
+gazettes,1
+gazing,23
+gbnewby@pglaf.org,1
+geese,1
+gem,1
+gemini,2
+genealogies,2
+genealogy,1
+genera,1
+general,72
+generalizing,1
+generally,31
+generated,1
+generations,8
+generic,4
+generous,5
+generously,1
+genesis,2
+geneva,1
+genial,4
+genially,1
+genius,3
+geniuses,1
+genteel,1
+genteelly,1
+gentle,7
+gentleman,20
+gentlemanlike,2
+gentlemanly,2
+gentlemen,38
+gentleness,1
+gentler,1
+gently,10
+genuine,3
+genuineness,1
+genus,1
+geographical,1
+geological,5
+geologist,1
+geometrical,1
+geometry,1
+george,10
+ger,1
+germain,1
+german,15
+germans,3
+germs,1
+gesner,1
+gestation,1
+gesticulated,1
+gesture,1
+gestures,4
+get,95
+gets,4
+gettee,1
+gettest,2
+getting,26
+ghastliness,1
+ghastly,5
+ghent,1
+ghost,13
+ghostliness,2
+ghostly,3
+ghosts,7
+giant,2
+giants,3
+gibbering,1
+gibberish,2
+gibraltar,2
+giddily,1
+giddy,1
+gift,3
+gifted,3
+gifts,1
+gigantic,20
+gilded,3
+gilder,1
+gill,1
+gills,4
+gilt,2
+gin,4
+ginger,16
+gingerly,1
+giraffe,1
+girdle,3
+girdled,3
+girdling,2
+girds,1
+girl,7
+girlish,1
+girls,8
+girth,6
+give,90
+given,37
+giver,1
+gives,18
+giving,28
+gizzard,1
+glacier,3
+glad,12
+glade,1
+glades,3
+gladly,4
+gladness,3
+glance,28
+glanced,6
+glances,7
+glancing,14
+glare,3
+glared,4
+glaring,2
+glarings,1
+glass,19
+glasses,10
+glassy,4
+glazed,1
+glazier,1
+gleam,1
+gleamed,5
+gleaming,1
+gleamings,1
+gleams,4
+glee,1
+gleig,1
+glen,3
+glens,2
+glide,2
+glided,14
+glides,2
+glidest,1
+gliding,14
+glim,1
+glimmer,3
+glimmering,1
+glimpse,10
+glimpses,5
+glistened,3
+glistening,7
+glittered,1
+glittering,8
+glitteringly,1
+glitters,1
+gloating,1
+globe,24
+globular,4
+globules,2
+gloom,12
+gloomiest,1
+gloomily,3
+gloomy,5
+glories,4
+glorified,2
+glorious,5
+gloriously,1
+glory,18
+glorying,1
+gloss,1
+glossy,3
+gloves,1
+glow,4
+glowed,1
+glowing,4
+glows,1
+glue,2
+glued,4
+gluepots,1
+glutinous,1
+gnarled,2
+gnashing,1
+gnaw,1
+gnawed,2
+gnawing,1
+gnomon,1
+go,194
+goa,1
+goaded,1
+goadings,1
+goal,2
+goals,1
+goat,4
+goats,1
+gobbles,1
+gobern,2
+goberned,1
+goblet,2
+goblets,3
+god,152
+goddess,1
+godhead,1
+godly,3
+gods,28
+goes,55
+goest,2
+goethe,2
+goggling,1
+goin,5
+going,89
+golconda,1
+gold,40
+golden,22
+goldsmith,3
+gomorrah,3
+gondibert,1
+gone,59
+goney,5
+good,216
+goodly,2
+goodness,5
+goods,1
+goodwin,1
+goose,1
+gor,3
+gore,3
+gored,1
+gores,1
+gorge,3
+gorgeous,4
+gorges,2
+goring,1
+gorings,1
+gospel,2
+got,46
+gothic,4
+gouge,2
+gouged,1
+gourmand,2
+gout,1
+gouty,1
+govern,1
+governed,1
+government,1
+governor,5
+gown,1
+gowns,1
+grab,1
+grace,8
+graceful,4
+graces,1
+gracious,5
+gradations,1
+graded,1
+gradual,2
+gradually,10
+graduates,1
+grain,3
+grained,2
+grains,1
+grammar,2
+grammars,2
+grampus,5
+grand,54
+grandest,1
+grandeur,8
+grandfather,2
+grandiloquent,1
+grandissimus,1
+grandmother,1
+granite,3
+grant,4
+granted,3
+granting,4
+grapes,4
+grapnels,2
+grapple,1
+grappled,1
+grappling,1
+gras,1
+grasp,5
+grasped,6
+grasping,7
+grasps,1
+grass,15
+grasses,1
+grasshopper,2
+grassy,2
+grated,1
+grateful,3
+gratefully,1
+grating,3
+gratitude,1
+grave,17
+graved,1
+gravely,2
+graven,1
+graves,1
+gravestone,1
+graveyards,1
+gravity,4
+graze,3
+grazed,3
+grazes,1
+grazing,1
+grease,2
+great,306
+greater,13
+greatest,12
+greatly,6
+greatness,2
+grecian,2
+greece,2
+greedily,1
+greedy,1
+greek,9
+greeks,2
+green,54
+greener,1
+greenhorn,2
+greenish,2
+greenland,36
+greenlanders,1
+greenlandmen,1
+greenly,1
+greenness,3
+greenwich,1
+greeted,2
+gregarious,3
+grego,3
+gregory,1
+grenadier,3
+grew,14
+grey,20
+greybeards,1
+greyhound,1
+greyhounds,1
+grief,8
+griefs,2
+grievances,1
+grieve,1
+grieved,2
+grievous,1
+griffin,1
+griffins,1
+grim,11
+grimly,4
+grimness,2
+grin,7
+grinding,1
+grindstone,2
+grinning,10
+grip,2
+gripe,2
+gripping,1
+grisly,1
+gritted,2
+grizzled,3
+grizzly,1
+groan,2
+groaned,3
+groans,1
+grocers,1
+grog,2
+groin,1
+groom,1
+groove,1
+grooved,1
+grooves,4
+grope,3
+gropes,1
+groping,4
+gros,1
+gross,2
+grotesque,2
+grotesqueness,1
+ground,54
+grounded,3
+grounds,13
+group,3
+groupings,1
+groups,1
+grove,3
+groves,5
+grow,24
+growing,9
+growl,2
+growlands,1
+growled,2
+growlingly,1
+grown,20
+grows,1
+growth,2
+grub,2
+grudge,2
+gruff,1
+grunt,2
+grunted,1
+guarantee,1
+guarantees,1
+guard,5
+guarded,1
+guardian,1
+guarding,1
+gudgeon,1
+gudgeons,1
+guernsey,11
+guernseyman,1
+guess,18
+guests,4
+guide,1
+guided,3
+guides,1
+guido,2
+guilt,2
+guiltiness,1
+guilty,5
+guinea,5
+guineas,1
+guise,3
+gulf,6
+gulfs,1
+gulfweed,1
+gull,4
+gullies,1
+gulp,2
+gulped,1
+gulping,1
+gums,2
+gun,7
+gunpowder,2
+guns,4
+gunwale,21
+gunwales,8
+gurgling,3
+gurglings,2
+gurry,1
+gush,6
+gushing,1
+gutenberg,88
+gutenberg.org,1
+guttural,2
+h,3
+ha,38
+haarlem,1
+habeat,1
+habergeon,1
+habit,3
+habitatory,1
+habits,4
+habitual,1
+habitually,1
+habituated,1
+habituation,1
+habitude,1
+habitudes,1
+hacked,1
+hacking,1
+hackluyt,3
+had,779
+hadst,1
+hag,1
+haggardly,1
+hags,1
+hah,1
+hail,15
+hailed,21
+hailing,7
+hails,2
+hain't,1
+haint,1
+hair,26
+haired,4
+hairs,5
+hairy,3
+hake,1
+half,136
+halfspent,1
+halibut,1
+hall,3
+hallo,2
+halloa,10
+halloo,2
+hallowed,1
+halls,3
+hallucination,1
+halt,1
+halted,1
+halter,1
+halters,1
+halting,4
+halving,1
+halyards,3
+ham,1
+hamlet,1
+hamlets,1
+hammer,30
+hammered,8
+hammering,2
+hammers,7
+hammock,33
+hammocks,1
+hamper,3
+hampshire,3
+hampton,1
+hams,4
+hamstring,1
+hand,214
+handed,10
+handedly,1
+handedness,1
+handful,6
+handfuls,4
+handicrafts,1
+handing,3
+handkerchief,5
+handle,14
+handled,8
+handles,3
+handling,4
+hands,130
+handsome,3
+handspike,2
+handspikes,6
+handy,3
+hang,7
+hanging,20
+hangman,1
+hangs,6
+hannibal,1
+hanoverian,1
+hap,3
+haphazard,1
+hapless,3
+haply,1
+happen,8
+happened,16
+happenest,1
+happening,4
+happens,12
+happier,2
+happily,4
+happiness,2
+happy,8
+har,1
+harbor,16
+harboring,1
+harbors,5
+harbourless,1
+harbours,1
+hard,84
+harder,4
+hardest,1
+hardicanutes,1
+hardihood,1
+hardly,33
+hardness,1
+hardy,9
+hare,2
+harem,9
+harems,1
+hares,1
+hark,16
+harlot,1
+harm,8
+harmattans,1
+harmed,1
+harmless,7
+harmoniously,1
+harmony,1
+harness,1
+harold,1
+harp,2
+harpoon,76
+harpooned,8
+harpooneer,81
+harpooneers,56
+harpooner,1
+harpooning,2
+harpoons,32
+harpstring,1
+harris,5
+harry,3
+harsh,1
+hart,2
+harto,1
+hartshorn,2
+hartz,1
+harvard,2
+harvest,4
+harvesting,1
+has,294
+hasn't,4
+hast,29
+hastening,1
+hastier,1
+hastily,1
+hasty,2
+hat,40
+hatband,1
+hatch,7
+hatched,1
+hatches,10
+hatchet,6
+hatchings,1
+hatchway,8
+hatchways,2
+hate,9
+hated,7
+hater,1
+haters,1
+hath,6
+hats,4
+haughtily,1
+haughty,5
+haul,12
+hauled,9
+hauling,4
+haunt,1
+haunted,3
+haunting,1
+haunts,3
+hav'n't,5
+have,773
+haven,4
+haven't,3
+havens,1
+having,66
+havoc,4
+hawaiian,2
+hawk,5
+hawks,3
+hawser,2
+hawsers,2
+hawthorne,1
+hay,5
+hazard,3
+hazards,1
+haze,2
+hazel,2
+hazy,1
+he,1878
+he'd,3
+he'll,18
+head,345
+headed,25
+header,6
+headers,2
+heading,10
+headland,2
+headlands,2
+headless,1
+headlong,7
+headmost,1
+heads,86
+headsman,10
+headsmen,5
+headway,4
+healed,1
+health,6
+healthful,1
+healthily,1
+healthy,5
+heap,4
+heaped,2
+heaps,5
+hear,64
+heard,110
+hearers,2
+hearing,13
+hearken,3
+hearkening,1
+hears,6
+hearse,11
+hearsed,2
+hearses,4
+heart,91
+hearted,12
+heartedness,1
+hearth,7
+hearthstone,1
+hearties,4
+heartily,4
+heartless,4
+heartlessness,1
+hearts,29
+heartwoes,1
+hearty,8
+heat,16
+heated,2
+heath,1
+heathen,3
+heathenish,6
+heathens,1
+heave,17
+heaved,12
+heaven,51
+heavenly,6
+heavens,17
+heavers,2
+heavier,2
+heaviest,2
+heavily,7
+heaviness,1
+heaving,15
+heavy,37
+hebrew,3
+hebrews,1
+hecla,1
+hedgehog,1
+hee,3
+heed,7
+heeded,6
+heedful,6
+heedfully,2
+heedfulness,2
+heeding,2
+heedless,4
+heedlessly,1
+heeds,2
+heel,8
+heeling,1
+heels,2
+heeva,2
+heidelburgh,8
+heigh,1
+height,18
+heighten,2
+heightened,6
+heightens,2
+heights,1
+heinousness,1
+heir,1
+held,37
+helena,1
+heliotrope,1
+hell,17
+helm,35
+helmet,3
+helmeted,3
+helmsman,11
+help,41
+helped,15
+helping,5
+helpless,4
+helplessly,4
+helter,2
+hem,6
+hemisphere,1
+hemlock,1
+hemmed,1
+hemp,12
+hempen,7
+hems,1
+hen,3
+hence,32
+henceforth,2
+henry,3
+her,332
+heraldic,1
+heralding,1
+herbert,1
+herculaneum,1
+hercules,6
+herd,13
+herded,1
+herding,1
+herds,11
+here,325
+hereabouts,6
+hereafter,9
+hereafters,1
+hereby,9
+hereditarily,2
+hereditary,7
+herein,4
+hereof,1
+hereupon,2
+herman,4
+hermaphroditical,1
+hermetically,1
+hermit,3
+hermits,2
+hero,3
+herod,1
+heroes,5
+heroic,2
+heroically,1
+heron,2
+herons,1
+herr,1
+herring,5
+herrings,1
+herschel,1
+herself,7
+hesitatingly,1
+heterogeneous,1
+heterogeneously,1
+hey,8
+hickory,2
+hid,1
+hidden,23
+hide,6
+hideous,10
+hideously,1
+hideousness,3
+hides,3
+hiding,3
+hie,1
+hieroglyphic,2
+hieroglyphical,1
+hieroglyphics,5
+hies,1
+higgledy,1
+high,108
+higher,23
+highest,8
+highland,3
+highly,7
+highness,2
+highway,2
+highwaymen,1
+hilarious,3
+hilariously,2
+hilarity,1
+hill,18
+hillock,1
+hills,10
+hilted,1
+him,1067
+himmalehan,1
+himmalehs,2
+himself,205
+hind,2
+hinder,1
+hindmost,1
+hindoo,5
+hindoos,1
+hindostan,1
+hinge,2
+hinges,2
+hint,23
+hinted,25
+hinting,5
+hintings,1
+hints,10
+hip,3
+hippogriff,1
+hired,1
+his,2530
+hish,2
+hiss,3
+hissed,5
+hisself,2
+hissing,4
+hist,9
+historian,3
+historians,2
+historic,1
+historical,8
+historically,1
+histories,2
+history,23
+hit,14
+hitching,1
+hither,14
+hitherto,17
+hits,1
+hitting,2
+hittite,1
+ho,32
+hoar,1
+hoard,1
+hoarded,1
+hoary,2
+hob,1
+hobbes,1
+hobbling,2
+hobomack,1
+hoe,3
+hogarth,1
+hogarthian,1
+hogs,2
+hogshead,2
+hogsheads,1
+hoist,9
+hoisted,30
+hoisters,1
+hoisting,12
+hoky,3
+hold,99
+holder,7
+holders,1
+holdest,1
+holding,37
+holds,7
+hole,44
+holes,9
+holiday,2
+holidays,2
+holier,1
+holies,1
+holiest,3
+holiness,1
+holland,7
+hollanders,1
+holloa,3
+hollow,20
+hollowing,1
+hollowly,2
+hollows,3
+holofernes,1
+holy,21
+homage,9
+home,56
+homeless,1
+homes,1
+homeward,7
+homewardbound,1
+homewards,2
+hominum,1
+hone,1
+honed,1
+hones,1
+honest,14
+honesty,1
+honey,3
+honeycomb,1
+honeycombs,1
+honeymoon,1
+honing,1
+honour,24
+honourable,7
+honourableness,1
+honourably,1
+honourary,1
+honouring,1
+honours,2
+hoo,1
+hooded,7
+hoods,1
+hoof,2
+hoofs,3
+hook,18
+hooked,5
+hooking,1
+hooks,5
+hoop,1
+hooped,3
+hoops,11
+hooroosh,1
+hoot,2
+hootings,1
+hop,3
+hope,35
+hopeful,2
+hopefully,2
+hopefulness,1
+hopeless,8
+hopelessly,4
+hopes,4
+hoping,1
+hopped,1
+horatii,1
+horizon,18
+horizons,1
+horizontal,16
+horizontally,5
+horn,30
+horned,1
+horner,1
+hornpipe,1
+horns,8
+horrible,15
+horribles,1
+horribly,3
+horrid,4
+horrified,1
+horrify,1
+horrifying,1
+horror,12
+horrors,5
+horse,27
+horseback,1
+horseman,3
+horses,11
+hose,2
+hosea,5
+hosmannus,1
+hospitable,5
+hospital,3
+hospitalities,1
+hospitality,2
+hospitals,2
+host,10
+hostile,3
+hostilely,1
+hostility,1
+hosts,3
+hot,23
+hotel,1
+hotels,1
+hour,40
+hourly,2
+hours,42
+house,44
+housed,1
+household,4
+housekeepers,1
+housekeeping,2
+houseless,1
+houses,9
+housewives,1
+housings,3
+hove,3
+hover,2
+hovered,6
+hovering,10
+hoveringly,1
+hovers,2
+how,259
+howdah,1
+however,96
+howl,4
+howled,5
+howling,12
+howlings,1
+howls,1
+hows'ever,1
+http,8
+hudson,2
+hue,14
+hued,2
+hues,3
+huff,1
+hug,3
+huge,30
+hugely,1
+hugeness,1
+hugest,4
+hugged,1
+hugging,2
+huggins,2
+hull,32
+hulls,5
+hum,9
+human,37
+humane,4
+humanities,1
+humanity,3
+humble,2
+humbly,2
+humbug,3
+humiliation,2
+humility,2
+hummed,3
+humming,5
+hummingly,1
+humor,10
+humored,1
+humoredly,2
+humorists,1
+humorous,6
+humorously,5
+humorousness,2
+hump,27
+humpback,1
+humpbacked,2
+humped,4
+humph,3
+humps,1
+hunch,3
+hundred,50
+hundreds,9
+hundredth,3
+hung,30
+hunger,1
+hungry,2
+hunks,3
+hunt,24
+hunted,19
+hunter,20
+hunters,28
+hunting,9
+hunts,2
+hurl,1
+hurled,6
+hurler,1
+hurling,1
+huron,1
+hurrah,10
+hurricane,3
+hurried,7
+hurriedly,3
+hurry,9
+hurrying,4
+hurt,2
+hurtling,2
+husband,3
+hush,3
+hushed,2
+huskily,1
+husks,1
+hussar,1
+hussey,17
+hustings,1
+huzza,8
+hval,1
+hvalt,2
+hwal,1
+hydrants,1
+hydriote,1
+hydrophobia,1
+hydrus,1
+hyena,3
+hygiene,1
+hymn,2
+hymns,1
+hyperborean,2
+hypertext,1
+hypo,1
+hypochondriac,1
+hypocrisies,1
+hypos,1
+hypothesis,2
+hypothesize,1
+hypothetically,2
+i,1989
+i'd,12
+i'll,65
+i'm,27
+i'se,1
+i've,29
+ian,1
+ibid,3
+ibis,1
+ice,27
+iceberg,5
+icebergs,3
+icebound,1
+icefield,1
+iceland,4
+icelandic,3
+icicle,1
+icicles,2
+icily,1
+iciness,1
+icy,7
+idea,33
+ideal,2
+ideality,1
+idealized,1
+ideas,6
+identical,7
+identically,1
+identification,1
+identified,1
+identify,2
+identity,5
+idiom,1
+idiot,4
+idiotic,1
+idle,3
+idleness,3
+idler,2
+idly,4
+idol,13
+idolator,3
+idolators,1
+idolatrous,1
+ie,4
+if,501
+ifs,1
+ignite,1
+ignited,2
+igniting,2
+ignition,1
+ignoble,3
+ignominious,1
+ignominy,1
+ignoramus,1
+ignorance,11
+ignorant,10
+ignorantly,4
+ignore,1
+ignores,1
+ignoring,1
+ii,15
+iii,12
+ile,1
+ill,19
+illimitable,1
+illimitably,1
+illinois,3
+illness,1
+ills,1
+illuminate,2
+illuminated,3
+illuminating,1
+illumination,1
+illumined,1
+illustrate,1
+illustrates,1
+illustration,2
+illustrative,2
+image,11
+images,2
+imaginary,2
+imagination,5
+imaginations,1
+imaginative,2
+imagine,4
+imagines,1
+imagining,1
+imbecile,1
+imbecility,1
+imbedded,2
+imbibing,1
+imitated,1
+immaculate,3
+immaterial,1
+immeasurable,2
+immediate,9
+immediately,17
+immemorial,7
+immemorially,2
+immense,16
+immensely,2
+immensities,2
+immensity,1
+immersed,2
+imminent,5
+imminglings,1
+immitigable,1
+immortal,15
+immortality,2
+immortals,1
+immovable,3
+immutable,1
+immutableness,1
+immutably,1
+imp,1
+impairing,1
+impairs,1
+impaling,3
+impalpable,1
+impart,2
+imparted,2
+impartial,2
+imparting,1
+imparts,4
+impatience,4
+impatient,5
+impatiently,3
+impeach,1
+impediments,1
+impeding,1
+impelled,5
+impelling,2
+impenetrable,3
+impenitent,2
+imperative,1
+imperceptible,1
+imperceptibly,1
+imperfect,2
+imperfectly,1
+imperial,10
+imperilled,2
+imperiously,1
+impersonal,3
+impersonated,1
+impertinent,2
+imperturbable,2
+impetuously,3
+impetuousness,1
+impetus,2
+impiety,1
+impious,4
+impiousness,1
+implement,3
+implements,3
+implicated,1
+implicit,1
+implied,2
+imponderable,1
+import,1
+importance,6
+important,20
+imported,1
+importing,1
+imports,2
+importunity,1
+imposed,2
+imposing,4
+imposingly,1
+impossibility,1
+impossible,17
+impotence,1
+impotent,1
+impotently,2
+imprecate,2
+imprecations,1
+impregnable,4
+impregnably,1
+impregnated,1
+impressed,3
+impresses,1
+impression,5
+impressions,10
+impressive,2
+imprimis,1
+improbable,1
+improvement,1
+improvements,2
+improving,2
+imps,1
+impudence,1
+impulse,2
+impulsive,2
+impulsively,1
+impunity,1
+impurities,1
+imputable,2
+imputation,2
+impute,2
+imputed,3
+in,4230
+inability,1
+inaccessible,2
+inaccurate,1
+inactive,1
+inadequately,1
+inanimate,1
+inarticulate,1
+inasmuch,8
+inattention,1
+inaudible,2
+inboard,3
+incalculable,2
+incantation,2
+incapable,3
+incapacitated,1
+incarcerated,1
+incarnate,3
+incarnated,1
+incarnation,2
+incarnations,1
+incense,1
+incensed,2
+incessant,5
+incessantly,4
+inch,19
+inches,20
+incident,5
+incidental,2
+incidentally,7
+incidents,1
+incited,1
+incites,1
+inclement,2
+inclination,1
+incline,2
+inclined,9
+inclining,1
+inclosed,3
+include,6
+included,14
+includes,1
+including,16
+inclusive,2
+incognita,2
+incoherences,1
+incoherently,1
+income,2
+incommoding,1
+incommodiously,1
+incommunicable,3
+incompatible,2
+incompetence,1
+incompetency,1
+incompetent,2
+incomplete,2
+incomputable,1
+inconclusive,1
+incongruity,1
+inconsiderable,3
+incontestable,1
+incontinently,1
+incorporate,2
+incorporated,2
+incorrect,1
+incorrigible,1
+incorruptible,1
+incorruption,2
+increase,2
+increased,7
+increasing,6
+incredible,9
+incredibly,1
+incredulity,2
+incredulous,5
+incrustation,1
+incrustations,1
+inculcated,1
+inculcating,2
+incumbrance,1
+incurable,1
+incuriously,1
+indebted,2
+indebtedness,1
+indecorous,1
+indeed,89
+indefatigable,2
+indefinite,4
+indefinitely,3
+indefiniteness,1
+indemnify,1
+indemnity,1
+independence,1
+independent,9
+independently,1
+indestructible,2
+index,2
+india,5
+indiaman,1
+indiamen,1
+indian,57
+indians,4
+indicate,1
+indicated,2
+indicating,1
+indication,2
+indications,3
+indies,2
+indifference,7
+indifferent,11
+indifferently,1
+indigenous,1
+indigestion,1
+indignant,2
+indignations,1
+indignity,2
+indirect,3
+indirectly,14
+indiscreet,1
+indiscretions,1
+indiscriminately,3
+indispensable,11
+indispensableness,1
+indisputable,1
+indissoluble,1
+indistinctly,1
+indistinctness,1
+indite,1
+individual,17
+individualities,1
+individuality,3
+individualizing,1
+individually,1
+individuals,2
+indolence,1
+indolent,6
+indolently,2
+indomitable,1
+indomitableness,2
+indubitably,1
+induce,5
+induced,4
+inducements,2
+inducing,1
+indulge,1
+indulged,2
+indulging,1
+industrious,1
+industry,3
+ineffable,3
+ineffably,1
+ineffaceable,1
+ineffectual,1
+ineffectually,1
+inelegant,2
+inequality,1
+inert,4
+inestimable,2
+inevitable,2
+inevitably,4
+inexhaustible,1
+inexorable,2
+inexperience,1
+inexperienced,1
+inexplicable,7
+inexpressible,2
+inexpressive,1
+inextricable,1
+infallible,4
+infallibly,11
+infancy,4
+infant,1
+infantileness,1
+infants,5
+infatuated,3
+infatuation,1
+infected,1
+infecting,1
+inferable,1
+inference,5
+inferences,1
+inferentially,1
+inferior,10
+inferiority,2
+inferiors,1
+infernal,8
+infernally,2
+inferred,4
+infesting,1
+infidel,7
+infidelities,1
+infiltrated,3
+infinite,8
+infinitely,4
+infinity,1
+infirmity,1
+infixed,1
+inflamed,1
+inflated,1
+inflexibility,1
+inflexible,2
+inflexibly,1
+inflicted,3
+infliction,1
+influence,9
+influenced,1
+influences,7
+influential,1
+inform,2
+information,10
+informed,4
+infringement,1
+infuriated,1
+ingenious,3
+ingeniously,1
+ingin,1
+inglorious,2
+ingloriously,1
+inhabitable,1
+inhabitant,2
+inhabitants,4
+inhabitiveness,1
+inhale,3
+inhaled,2
+inhaling,2
+inherent,3
+inheritor,1
+inhospitable,1
+inhuman,2
+inions,1
+initials,1
+initiate,1
+initiated,1
+injunctions,1
+injured,2
+injury,2
+injustice,3
+ink,1
+inkling,1
+inkstand,1
+inlaid,3
+inland,6
+inlander,1
+inlanders,1
+inlaying,1
+inlayings,1
+inmates,3
+inmost,2
+inn,16
+innate,1
+inner,5
+innermost,7
+innkeeper,1
+innocence,4
+innocency,1
+innocent,5
+innocently,1
+innocents,1
+inns,3
+innuendoes,1
+innumerable,2
+inoffensive,1
+inoffensiveness,1
+inordinate,3
+inquire,3
+inquired,1
+inquiries,1
+inquiring,5
+inquiringly,1
+inquiry,5
+inquisition,1
+insane,3
+insanity,6
+insatiate,2
+inscribed,1
+inscription,1
+inscriptions,3
+inscrutable,8
+inscrutably,1
+insect,3
+insects,1
+insensible,1
+insensibly,2
+inseparable,3
+insert,2
+inserted,17
+inserting,4
+insertion,3
+inshore,2
+inside,18
+insider,1
+insignificant,3
+insinuated,1
+insinuates,1
+insinuating,1
+insist,2
+insisted,4
+insolent,1
+insomuch,2
+inspecting,1
+inspectingly,1
+inspection,1
+inspire,2
+instance,18
+instances,31
+instant,77
+instantaneous,5
+instantaneously,2
+instantly,23
+instead,24
+instigation,1
+instinct,8
+instinctive,1
+instinctively,5
+instincts,1
+instituted,1
+instructions,1
+instrument,3
+insufferable,6
+insufficient,1
+insular,4
+insulated,2
+insult,12
+insulted,3
+insultest,1
+insulting,2
+insupportable,1
+insurance,4
+insurances,1
+insure,4
+insured,1
+insurgents,2
+intact,2
+intangible,1
+integral,2
+integrity,1
+integument,1
+intellect,2
+intellects,1
+intellectual,6
+intelligence,7
+intelligent,7
+intelligently,1
+intemperately,1
+intended,9
+intending,2
+intense,18
+intensely,4
+intensest,1
+intensified,3
+intensifying,1
+intensities,1
+intensity,8
+intent,14
+intention,8
+intentions,1
+intently,9
+intents,1
+inter,1
+interblending,2
+intercedings,1
+intercept,1
+intercepted,2
+interchange,3
+interchangeably,1
+intercourse,1
+interdicted,1
+interest,18
+interested,2
+interesting,8
+interests,2
+interferes,1
+interfering,1
+interflow,1
+interflowing,1
+interfusing,1
+interior,12
+interlacing,2
+interlacings,1
+interlinked,1
+interlude,4
+interluding,1
+intermeddling,1
+intermediate,3
+interminable,1
+intermission,1
+intermitting,1
+intermixed,1
+intermixingly,1
+intermixture,1
+internal,6
+international,1
+internationally,1
+interpenetrate,1
+interposed,2
+interpret,1
+interpreted,2
+interpreter,2
+interpreters,1
+interpreting,1
+interregnum,1
+interrogatively,1
+interrupt,1
+interrupted,4
+interruption,2
+interruptions,2
+intersecting,1
+intertangled,1
+intertwisting,1
+intertwistings,1
+interval,25
+intervals,32
+intervene,1
+intervened,1
+intervening,3
+interview,2
+interweave,1
+interweaving,1
+interweavingly,1
+intestines,1
+intimacy,1
+intimate,3
+intimation,1
+into,523
+intolerable,9
+intolerableness,1
+intolerably,5
+intrantem,1
+intrepid,4
+intrepidity,1
+intrepidly,1
+intricacies,4
+intricacy,1
+intricate,3
+introduced,6
+introduction,1
+intuitions,4
+inuendoes,1
+invade,2
+invaded,1
+invader,1
+invaders,1
+invalidity,1
+invaluable,3
+invariability,1
+invariable,4
+invariably,11
+invasion,1
+invent,1
+invented,2
+inventing,1
+invention,1
+inventive,1
+inventor,1
+inventors,1
+invert,1
+inverted,5
+invertedly,1
+invest,6
+invested,21
+investigate,1
+investigated,1
+investigation,1
+investigations,2
+investigator,1
+investigators,1
+investing,2
+investiture,2
+investment,1
+invests,5
+inveteracy,1
+inveterate,1
+invincible,1
+invisible,16
+invisibly,2
+invite,1
+invited,5
+inviting,1
+invitingly,1
+invocation,1
+invocations,1
+invoked,3
+invoking,3
+invokingly,1
+involuntarily,12
+involuntary,3
+involutions,2
+involve,6
+involved,9
+involves,1
+involving,1
+invunerable,1
+inward,5
+inwards,3
+inwreathing,1
+io,2
+irascible,1
+ire,1
+ireful,1
+ireland,1
+irish,1
+irksome,1
+iron,87
+ironical,1
+irons,17
+iroquois,2
+irradiate,1
+irrational,1
+irregular,6
+irregularity,1
+irregularly,2
+irresistible,5
+irresistibleness,1
+irresistibly,2
+irresolute,1
+irresolution,1
+irrespective,2
+irresponsible,1
+irreverence,1
+irrevocably,2
+irritated,2
+irs,1
+is,1750
+is't,2
+isabella,1
+isaiah,2
+ishmael,20
+isinglass,3
+island,33
+islanders,5
+islands,18
+isle,12
+isles,17
+islets,2
+isn't,1
+isolate,1
+isolated,6
+isolation,3
+isolato,1
+isolatoes,2
+israel,1
+israelites,1
+issue,4
+issued,8
+issues,1
+issuing,3
+isthmus,1
+it,2535
+it'll,2
+italian,4
+italy,1
+itch,1
+item,4
+items,5
+its,382
+itself,84
+iv,4
+ivory,56
+ixion,1
+j,4
+jabbering,2
+jack,14
+jackal,2
+jackasses,1
+jacket,22
+jackets,5
+jacks,2
+jackson,1
+jacob,1
+jaffa,2
+jagged,2
+jago,2
+jail,2
+jails,1
+jalap,1
+jam,2
+jambs,1
+jammed,3
+jamming,4
+january,1
+japan,10
+japanese,10
+japans,1
+japonicas,1
+jar,3
+jars,1
+jaundice,1
+jav'lins,1
+java,7
+javan,2
+javelin,2
+javelins,2
+jaw,58
+jawed,1
+jaws,30
+jealous,2
+jealously,1
+jealousy,1
+jebb,1
+jeer,1
+jeering,1
+jeeringly,1
+jefferson,1
+jellied,1
+jelly,1
+jenny,3
+jeopardize,1
+jeopardized,3
+jeopardy,6
+jeremy,2
+jerk,4
+jerked,3
+jerking,6
+jerkingly,1
+jeroboam,10
+jesty,3
+jesu,1
+jesus,1
+jet,32
+jets,11
+jetted,2
+jettest,1
+jetting,1
+jew,1
+jewel,2
+jewelled,3
+jeweller,1
+jewellers,2
+jewels,2
+jews,1
+jib,5
+jibs,1
+jiff,1
+jiffy,1
+jig,4
+jimimi,1
+jimmini,1
+jingle,1
+jinglers,2
+jingling,2
+job,15
+jobs,2
+jocularly,1
+joe,1
+joes,3
+jogged,1
+jogs,1
+john,13
+johnny,1
+johnson,4
+join,8
+joined,7
+joiner,1
+joining,1
+joins,1
+joint,7
+jointed,1
+joints,5
+joist,3
+joists,3
+joke,8
+joker,2
+jokes,1
+joking,1
+joky,3
+jollies,3
+jollily,1
+jollity,2
+jolly,22
+jonah,85
+jonas,3
+jonathan,1
+jones,3
+jonesey,2
+joosy,2
+joppa,8
+jordan,1
+jostle,1
+jot,6
+journal,1
+journey,3
+journeyman,1
+journeys,1
+jove,9
+jovial,1
+joy,17
+joyful,3
+joyfully,2
+joyous,3
+joyously,3
+joyousness,1
+juan,1
+jub,2
+juba,1
+jubilations,1
+judea,1
+judge,9
+judges,2
+judging,2
+judgmatically,1
+judgment,11
+judgments,1
+judicious,1
+judiciously,2
+judith,1
+juggler,2
+jugglers,1
+juggling,3
+juices,1
+juicy,3
+july,2
+julys,1
+jumbled,1
+jump,18
+jumped,11
+jumping,2
+junction,2
+juncture,4
+june,3
+jungfrau,5
+jungle,1
+junior,2
+juniper,1
+junk,5
+junks,2
+jupiter,4
+jure,1
+jurisdiction,1
+jurisprudence,1
+jury,2
+just,117
+justice,4
+justification,1
+justified,2
+justify,1
+justinian,2
+justly,3
+juvenile,1
+ka,1
+kannakin,1
+kant,1
+kedger,1
+kedron,1
+kee,2
+keel,26
+keeled,3
+keeling,1
+keels,9
+keen,16
+keener,1
+keenest,3
+keenly,3
+keep,71
+keeper,1
+keepers,4
+keeping,15
+keeps,8
+keg,1
+kelpy,1
+kelson,3
+kennel,1
+kentledge,1
+kentuckian,2
+kentucky,1
+kept,47
+ketos,1
+kettles,2
+key,12
+keyed,1
+keys,2
+keystone,1
+khan,1
+kick,11
+kicked,9
+kicking,5
+kicks,2
+kidnap,1
+kidnapped,1
+kidnapping,2
+kill,33
+killed,35
+killer,6
+killers,1
+killing,6
+kills,2
+kiln,1
+kin,2
+kind,28
+kindhearted,1
+kindle,1
+kindled,2
+kindling,2
+kindly,3
+kindness,3
+kindred,5
+kinds,3
+kine,1
+king,64
+kingdom,2
+kingdoms,1
+kingly,1
+kings,18
+kink,2
+kinross,1
+kinsmen,1
+kiss,2
+kissed,1
+kit,1
+kitchen,4
+kith,2
+kitten,1
+knaves,1
+knee,8
+kneel,2
+kneeling,5
+kneepans,1
+knees,8
+knell,1
+knew,43
+knife,31
+knight,3
+knightly,1
+knights,4
+knit,1
+knitted,1
+knitting,2
+knives,10
+knob,1
+knobbed,1
+knobby,1
+knobs,1
+knock,3
+knocked,6
+knockers,1
+knocking,7
+knockings,1
+knocks,1
+knot,7
+knots,3
+knotted,5
+knottiest,1
+knotty,1
+know,150
+know'd,1
+know'st,2
+knowest,6
+knowing,16
+knowingly,3
+knowledge,12
+known,80
+knows,28
+koo,1
+korah,1
+kraken,1
+kremlin,1
+krusenstern,2
+krusensterns,1
+l,3
+la,9
+label,1
+labelled,1
+labor,2
+labored,1
+laborers,5
+laborious,4
+labors,2
+labrador,3
+labyrinth,3
+lace,2
+laced,1
+lacepede,3
+laceration,1
+lacings,1
+lack,2
+lackaday,1
+lacks,1
+lacquered,2
+lactantem,1
+lad,24
+ladder,12
+ladders,1
+laden,5
+ladies,13
+ladle,2
+lads,15
+lady,8
+laid,22
+lain,2
+lais,1
+lake,11
+lakeman,24
+lakes,3
+lama,1
+lamatins,1
+lamb,2
+lament,1
+lamentable,1
+lamp,29
+lamps,4
+lance,45
+lancer,1
+lancers,1
+lances,23
+lancet,1
+land,80
+landed,12
+landing,2
+landlady,6
+landless,2
+landlessness,2
+landlord,34
+lands,7
+landscape,3
+landscapes,1
+landsman,8
+landsmen,10
+lane,1
+lanes,1
+langsdorff,5
+language,7
+languages,1
+languid,1
+languishing,1
+languor,1
+lank,1
+lantern,12
+lanterns,5
+lanyard,2
+lap,1
+lapland,1
+laplander,1
+laplandish,1
+lapse,2
+lapsed,1
+larboard,9
+larceny,1
+lard,3
+larders,1
+large,79
+largely,8
+largeness,1
+larger,9
+largest,19
+lascar,1
+lascars,1
+lash,6
+lashed,11
+lashes,1
+lashing,8
+lashings,2
+lashless,1
+lasses,1
+lassitude,1
+lasso,1
+last,278
+lasted,2
+lasting,1
+lastly,2
+lasts,1
+latch,1
+late,30
+lately,1
+latent,4
+latently,1
+later,3
+latest,3
+lath,1
+lathering,1
+latin,5
+latitude,13
+latitudes,15
+latter,15
+laudanum,1
+laugh,17
+laughable,1
+laughed,7
+laugheth,1
+laughing,4
+laughs,3
+laughter,1
+launch,1
+launched,6
+launchest,1
+launching,2
+laureate,1
+lava,1
+lavater,3
+lave,1
+lavish,1
+law,23
+lawful,1
+lawless,2
+laws,15
+lawyer,2
+lawyers,3
+lay,78
+layer,8
+layers,3
+layeth,1
+laying,6
+layn,1
+lays,7
+lazarus,7
+lazily,5
+lazy,3
+lbs,7
+le,1
+leach,1
+lead,18
+leaded,1
+leader,5
+leaders,2
+leadership,1
+leading,12
+leads,3
+leaf,2
+league,2
+leagued,2
+leagues,10
+leak,14
+leakage,1
+leaking,2
+leaks,4
+leaky,6
+lean,12
+leaned,13
+leaner,1
+leaning,28
+leans,1
+leap,13
+leaped,13
+leapest,1
+leaping,14
+leaps,5
+learn,9
+learned,25
+learnedly,2
+learning,6
+learnt,1
+leash,1
+least,76
+leather,5
+leathern,5
+leave,18
+leaves,19
+leaving,38
+leavings,1
+lecherous,1
+lectures,1
+led,10
+ledge,2
+ledgers,1
+ledyard,2
+lee,19
+leech,2
+leering,2
+lees,3
+leeward,29
+leewardings,1
+left,67
+leg,89
+legal,4
+legally,1
+legatee,1
+legatees,1
+lege,1
+legend,2
+legendary,3
+legends,1
+legerdemain,1
+legged,3
+legislative,1
+legislators,1
+legitimately,1
+legs,36
+leicester,1
+leisure,3
+leisurely,2
+lend,1
+lends,1
+length,78
+lengthen,1
+lengthened,1
+lengths,4
+lengthwise,12
+lens,1
+lent,2
+lents,1
+leo,3
+leopard,1
+leopards,1
+leper,1
+less,53
+lesser,1
+lesson,13
+lessons,1
+lest,7
+let,158
+lethargy,1
+lets,1
+letter,16
+lettered,1
+letters,11
+letting,3
+leuwenhoeck,1
+levanter,1
+level,24
+levelled,9
+levelling,1
+levels,3
+levers,1
+leviathan,96
+leviathanic,8
+leviathanism,1
+leviathans,17
+lexicographer,1
+lexicon,3
+lexicons,1
+leyden,3
+liabilities,1
+liability,4
+liable,4
+liar,1
+liars,1
+liberal,3
+liberally,1
+liberated,1
+liberation,1
+liberties,1
+libertines,1
+libra,2
+librarian,1
+libraries,1
+library,3
+license,18
+licensed,2
+lick,2
+licked,1
+lid,9
+lids,2
+lie,27
+lies,20
+liest,1
+lieu,4
+lieutenant,2
+lieutenants,1
+life,175
+lifeless,4
+lifelessly,2
+lifetime,5
+lift,12
+lifted,17
+lifting,9
+lifts,2
+ligature,1
+light,79
+lighted,13
+lighten,1
+lightens,1
+lighter,5
+lightest,1
+lighthouse,1
+lighting,4
+lightly,7
+lightness,1
+lightning,28
+lightnings,3
+lights,10
+like,647
+liked,2
+likely,2
+liken,1
+likened,4
+likeness,6
+likenesses,1
+likes,3
+likewise,22
+lilies,2
+lily,1
+lima,10
+limb,6
+limber,4
+limbered,1
+limbs,10
+lime,1
+limeese,1
+limestone,1
+limit,5
+limitation,3
+limitations,1
+limited,5
+limitless,1
+limits,1
+limped,2
+limpid,1
+limping,3
+line,158
+linear,2
+lined,2
+linen,4
+lines,37
+lingered,5
+lingering,8
+lingers,1
+lingo,2
+lining,1
+link,2
+linked,5
+links,9
+linnaeus,5
+lint,1
+lion,8
+lionel,3
+lip,10
+lipless,1
+lipped,2
+lips,18
+liquid,2
+liquor,1
+lirra,2
+list,5
+listen,9
+listened,1
+listener,1
+listening,4
+listlessness,1
+lists,1
+lit,9
+literal,1
+literally,5
+literary,13
+literature,1
+lithe,2
+litigated,1
+litter,2
+little,249
+littleton,1
+liturgies,1
+liv'st,1
+live,60
+lived,13
+livelihood,2
+liveliness,2
+livelong,2
+lively,14
+liver,4
+livers,3
+lives,22
+livid,2
+lividly,1
+living,73
+livingly,2
+lizard,1
+lo,18
+load,3
+loaded,13
+loading,3
+loads,2
+loadstone,3
+loaf,1
+loam,1
+loan,1
+loath,4
+loathed,1
+loathsome,1
+lobes,2
+lobtailing,1
+local,3
+locality,1
+localness,1
+located,4
+locations,2
+lock,9
+locke,1
+locked,16
+locker,4
+lockers,2
+locking,2
+locks,6
+locksmith,1
+lodge,3
+lodged,9
+lodges,1
+lodgings,1
+loftiest,4
+lofty,21
+log,22
+logan,1
+logged,1
+loggerhead,6
+loggerheads,1
+logs,2
+loins,1
+loitering,1
+loiters,1
+lombardy,2
+london,14
+lone,8
+loneliness,1
+lonely,12
+lonesomely,1
+lonesomeness,1
+long,334
+longed,1
+longer,18
+longest,3
+longevity,1
+longing,4
+longingly,2
+longings,1
+longitude,6
+longitudes,3
+loo,1
+look,205
+looked,64
+lookee,1
+looker,1
+lookest,3
+looking,70
+lookouts,1
+looks,27
+loom,8
+loomed,5
+looming,1
+loomings,1
+loon,1
+loop,1
+looped,1
+loose,36
+loosed,1
+loosely,1
+loosened,2
+loosening,1
+lord,66
+lording,1
+lordly,2
+lords,3
+lose,8
+loses,4
+losing,4
+loss,9
+lost,48
+lot,6
+lothario,2
+lotion,1
+lotions,1
+lots,1
+lotus,1
+loud,12
+louder,1
+loudly,7
+louis,5
+louisiana,1
+lounge,1
+lounged,2
+lounges,1
+lounging,6
+loungingly,1
+love,24
+loved,3
+loveliest,1
+loveliness,2
+lovely,11
+lover,1
+lovers,3
+loves,1
+loving,8
+lovings,1
+low,38
+lower,64
+lowered,20
+lowering,18
+loweringly,1
+lowerings,2
+lowermost,2
+lowers,2
+lowest,3
+lowly,8
+loyal,1
+lubber,4
+lucian,1
+lucifer,2
+lucifers,4
+luck,14
+luckily,1
+luckless,4
+lucky,8
+luff,3
+luffs,1
+lug,1
+luggage,1
+luggers,1
+lull,1
+lullaby,1
+lulled,1
+lulls,1
+lumber,3
+lumbered,1
+lump,2
+lumps,2
+lunacy,3
+lunar,1
+lunatic,1
+lung,2
+lunges,1
+lunging,3
+lungless,2
+lungs,16
+lurches,1
+lurching,1
+lurchingly,1
+lure,1
+lurid,2
+luridly,1
+lurk,6
+lurked,8
+lurking,7
+lurks,9
+lustily,1
+lustre,4
+lustrous,1
+lusty,1
+luxuriant,1
+luxurious,2
+lye,2
+lying,20
+m,1
+ma'am,2
+maachah,1
+mab,1
+macassar,1
+maccabees,1
+maccaroni,1
+mace,1
+macey,7
+maceys,1
+machine,2
+machinery,1
+machines,1
+mackerel,1
+mackinaw,2
+macrocephalus,1
+macy,3
+mad,36
+mad'st,1
+madame,1
+madden,1
+maddened,4
+maddening,1
+maddens,1
+made,178
+madest,1
+madly,4
+madman,3
+madness,17
+maelstrom,4
+magazine,2
+maggots,1
+magian,2
+magic,9
+magical,2
+magician,1
+magistrate,1
+magnanimity,1
+magnanimous,4
+magnet,3
+magnetic,7
+magnetically,1
+magnetism,1
+magnetizing,1
+magnets,2
+magnification,1
+magnificence,1
+magnificent,2
+magnified,2
+magnify,1
+magnifying,3
+magniloquent,1
+magnitude,22
+mahogany,2
+mahomet,1
+maid,4
+maidenly,1
+maidens,1
+mail,2
+mails,1
+maim,1
+maimed,2
+maiming,1
+main,54
+maine,1
+mainly,2
+mainmast,11
+maintain,5
+maintained,5
+maintaining,4
+maintains,2
+mainyard,2
+majestic,7
+majestical,1
+majestically,1
+majesty,6
+majority,3
+make,115
+maker,4
+makes,40
+makest,2
+maketh,5
+making,46
+makings,1
+malacca,2
+malady,3
+malay,1
+malays,4
+male,6
+maledictions,2
+malefactors,1
+males,3
+malice,12
+malicious,9
+maliciously,1
+malignant,3
+malignantly,1
+malignity,3
+mallet,3
+maltese,2
+maltreated,1
+mammiferous,1
+mammis,1
+mammoth,1
+man,527
+manage,2
+managed,1
+management,6
+managers,1
+managing,1
+manchester,1
+mandible,1
+mane,2
+maned,2
+manes,1
+manfully,1
+mangles,1
+mangrove,1
+manhandle,3
+manhatto,1
+manhattoes,1
+manhood,2
+manifest,1
+manifestation,1
+manifested,4
+manifesto,1
+manifold,3
+manikin,1
+manilla,5
+manillas,1
+manipulated,2
+manipulator,1
+mankind,13
+manliest,1
+manliness,1
+manly,1
+manmaker,1
+manned,13
+manner,37
+mannerly,1
+manners,1
+mannikin,1
+manoeuvre,1
+manoeuvred,1
+manoeuvres,1
+mansion,2
+mansoul,1
+mantle,2
+manufactured,2
+manufacturer,1
+manufacturing,1
+manx,4
+manxman,12
+many,168
+map,3
+maple,1
+maples,1
+mapped,1
+mapple,9
+marble,15
+marbled,1
+marbleized,1
+marbles,3
+march,4
+marchant,5
+marched,2
+marches,2
+marching,6
+marchings,1
+marge,1
+margin,6
+marine,2
+mariner,16
+mariners,29
+marines,3
+maritime,4
+marius,1
+mark,55
+marked,20
+markest,1
+market,6
+marketless,1
+marking,4
+marks,15
+marksmen,1
+marl,1
+marline,1
+marling,3
+marlingspike,2
+marlinspikes,1
+marmora,1
+marquee,1
+marred,2
+marriage,2
+married,3
+marring,1
+marrow,1
+marry,2
+marsh,1
+marshal,3
+marshalled,2
+marshals,1
+marshy,2
+marten,1
+martha,4
+martial,3
+martin,2
+martyr,1
+marvel,2
+marvelled,4
+marvelling,1
+marvellous,15
+marvellously,1
+marvels,8
+mary,7
+masculine,1
+mask,3
+masked,2
+masks,1
+mason,2
+masoned,3
+masonry,6
+mass,39
+massa,3
+massachusetts,3
+massacre,2
+masses,8
+massive,5
+mast,129
+masted,1
+master,23
+mastering,1
+masterless,2
+masterly,1
+masters,2
+mastership,2
+mastery,1
+mastheads,1
+mastications,1
+mastodon,1
+mastodons,1
+masts,26
+mat,13
+match,9
+matched,1
+matches,1
+mate,79
+material,8
+materially,2
+materials,2
+maternal,5
+mates,40
+mateship,1
+mathematical,3
+mathematically,1
+mathematics,2
+matrimonial,1
+matse,1
+matsmai,1
+matted,2
+matter,87
+matters,13
+mattrass,1
+mattress,2
+mature,1
+matured,1
+maty,2
+maul,6
+maury,1
+maw,3
+maxim,3
+maximum,1
+may,254
+may'st,1
+maybe,3
+mayest,1
+mayhap,3
+mayhew,8
+mayst,1
+maze,2
+mazeppa,1
+mazes,2
+maziness,1
+mazy,1
+mcculloch,1
+me,633
+meadow,6
+meadows,3
+meads,2
+meagre,2
+meal,3
+meals,6
+mealtimes,1
+mealy,4
+mean,39
+mean'st,1
+meanest,4
+meaning,17
+meanings,4
+meanly,1
+means,47
+meant,14
+meantime,23
+meanwhile,28
+measure,15
+measured,8
+measureless,8
+measurement,3
+measurer,1
+measures,3
+measuring,2
+meat,12
+mecca,1
+mechanical,7
+mechanically,8
+medal,1
+medallion,1
+medallions,1
+medals,1
+meddle,2
+meddling,2
+medes,1
+medicament,1
+medicinally,1
+medicine,3
+mediocrity,1
+meditation,4
+meditations,1
+meditative,2
+meditativeness,1
+mediterranean,9
+medium,7
+mediums,1
+meet,20
+meeting,12
+meetings,3
+meets,9
+melan,1
+melancholy,8
+melancthon,1
+mell,2
+melodious,1
+melt,1
+melted,5
+melting,2
+melville,4
+member,9
+membrane,3
+membranes,1
+memoirs,2
+memorable,2
+memorial,1
+memories,4
+memory,11
+men,244
+menace,1
+menaced,1
+menacing,2
+mend,7
+mendanna,1
+mended,2
+mending,3
+mene,2
+menial,1
+mention,15
+mentioned,18
+mentioning,3
+mentions,1
+mephistophelean,1
+merchant,19
+merchantibility,1
+merchantmen,4
+merchants,1
+merciful,1
+mercifully,2
+merciless,1
+mercy,9
+mere,42
+merely,19
+merest,1
+merged,3
+merging,1
+meridian,2
+meridians,4
+merit,3
+meritoque,1
+merits,1
+mermaid,1
+mermaids,2
+merman,2
+merrier,1
+merrily,2
+merry,13
+meshach,1
+mesopotamian,1
+mess,3
+message,2
+messmates,1
+met,20
+metal,3
+metallic,1
+metaphysical,2
+metaphysically,1
+metempsychosis,1
+methinks,10
+method,4
+methodic,3
+methodical,1
+methodically,3
+methodization,1
+methods,2
+methought,1
+methuselah,1
+metres,1
+metropolis,1
+metropolitan,3
+mexico,3
+miasmas,1
+michael,3
+michigan,2
+microscopic,2
+mid,12
+midday,1
+middle,38
+middling,1
+midmost,1
+midnight,27
+midship,1
+midships,2
+midst,10
+midsummer,1
+midway,5
+midwifery,1
+midwinter,1
+might,183
+mightest,2
+mightier,2
+mightiest,6
+mightily,1
+mighty,47
+migrating,1
+migrations,1
+migratory,1
+miguel,2
+mild,28
+mildewed,1
+mildly,10
+mildness,5
+mile,6
+miles,32
+milestones,1
+militant,1
+military,6
+militia,1
+milk,12
+milkiness,1
+milky,10
+mill,2
+miller,1
+milliner,1
+milling,2
+million,2
+millions,7
+millionth,1
+mills,2
+mimicking,1
+mince,1
+minced,1
+mincer,5
+mincing,3
+mind,80
+mind'em,1
+minded,6
+mindedness,1
+minds,14
+mine,45
+miner,1
+mingled,2
+mingling,2
+miniature,2
+miniatures,1
+minister,1
+ministry,1
+minor,1
+mint,1
+mints,1
+minus,3
+minute,17
+minutes,21
+minutest,3
+mirabilis,1
+miracle,5
+miraculous,4
+miriam,3
+mirror,4
+mirrors,1
+mirth,2
+misanthrope,1
+misanthropic,2
+misbehaviour,1
+miscellaneous,4
+miscellaneously,1
+mischief,4
+mischievous,1
+miscreants,1
+misdoubt,1
+miser,1
+miser'll,1
+miserable,9
+miserably,3
+miseries,3
+miserly,1
+misery,3
+misfortune,1
+misfortunes,1
+misgiving,1
+misgivings,3
+misgrown,1
+mishap,3
+mishaps,1
+mislead,1
+misnamed,1
+miss,1
+missed,1
+missent,1
+missing,16
+mission,5
+missionaries,1
+missionary,4
+mississippi,4
+mississippies,1
+missive,1
+missouri,2
+mist,11
+mistake,9
+mistaken,8
+mistakes,2
+mistaking,3
+mistifying,2
+mistiness,1
+mistress,2
+mistrust,1
+mists,2
+misty,3
+mite,1
+mittened,1
+mittens,1
+mixed,12
+mixes,1
+mixing,1
+mizen,4
+mizentop,1
+mizzen,4
+moaning,1
+mob,5
+mobbed,1
+mobbing,1
+moby,89
+moccasin,1
+moccasined,1
+mock,1
+mocked,1
+mockery,3
+mocking,2
+mockingly,1
+mocks,1
+mode,3
+model,4
+modelled,1
+moderate,2
+moderately,2
+moderation,1
+modern,18
+moderns,1
+modes,2
+modification,1
+modifications,1
+modified,6
+modifies,1
+modifying,1
+mogul,5
+mogulship,1
+mohawk,1
+moidores,1
+moisture,4
+molasses,2
+mole,3
+moles,2
+molest,1
+molesting,1
+molifier,1
+molten,1
+moluccas,2
+moment,105
+momentarily,1
+momentary,2
+momentous,4
+moments,12
+momentum,2
+monadnock,1
+monarch,1
+monarchs,2
+monday,2
+money,15
+mong,2
+mongering,1
+mongrel,1
+monied,1
+monitions,1
+monkey,16
+monks,1
+monomania,4
+monomaniac,11
+monongahela,1
+monopolising,2
+monotonous,1
+monotonously,1
+monsieur,7
+monsieurs,2
+monsoons,1
+monster,49
+monsters,9
+monstrous,11
+monstrousest,1
+montaigne,1
+montgomery,1
+month,6
+months,17
+monument,2
+monumental,1
+monuments,1
+mood,10
+moodily,2
+moodiness,1
+moods,5
+moody,13
+moon,9
+moonlight,8
+moonlit,1
+moons,2
+moor,1
+moored,9
+moorish,1
+moors,1
+moose,2
+moot,2
+mooted,1
+mop,1
+moral,3
+morally,1
+morals,1
+morass,2
+morbid,1
+morbidness,3
+mordecai,1
+more,509
+moreover,20
+morgana,1
+morn,2
+morning,74
+mornings,1
+morquan,1
+morrel,1
+morrow,12
+morsel,2
+mortal,40
+mortalities,1
+mortality,1
+mortally,2
+mortals,10
+mortar,4
+mortemizing,1
+moses,2
+mosque,2
+moss,6
+mosses,3
+mossy,1
+most,284
+mostly,11
+mote,1
+moth,3
+mother,18
+mothered,1
+mothers,6
+motion,17
+motioned,2
+motioning,1
+motionless,8
+motionlessly,1
+motions,12
+motive,3
+motives,4
+motley,1
+mottled,2
+motto,1
+mould,6
+moulded,2
+moulder,1
+mouldings,2
+mouldy,5
+mount,11
+mountain,12
+mountaineers,1
+mountainous,3
+mountains,13
+mounted,14
+mounting,3
+mounts,4
+mounttop,4
+mournful,1
+mourning,2
+mouse,3
+moustache,2
+mout,3
+mouth,61
+mouthed,5
+mouthful,3
+mouthfuls,3
+mouths,9
+mouts,1
+movable,2
+move,9
+moved,14
+movement,9
+movements,3
+moves,4
+moving,15
+movingly,1
+mow,1
+mower,2
+mowers,4
+mown,2
+mr,63
+mrs,13
+mss,1
+mt,1
+much,224
+mud,1
+muddled,1
+muezzin,1
+muffins,1
+muffle,1
+muffled,9
+muffledness,1
+muffling,1
+mufti,1
+mug,1
+mugs,1
+mulberries,1
+mule,3
+multiplicity,2
+multiplied,2
+multiply,1
+multitude,4
+multitudes,1
+multitudinous,2
+multitudinously,2
+multum,1
+mum,1
+mumbled,1
+mumbling,5
+mumblings,2
+mummeries,1
+mummies,2
+mundane,3
+mungo,2
+murder,10
+murdered,6
+murderer,7
+murderers,5
+murdering,3
+murderous,10
+murky,2
+murmur,1
+murmured,12
+murmuring,1
+murray,1
+muscle,3
+muscles,4
+muscular,1
+museum,2
+music,4
+musical,2
+musically,1
+musk,5
+musked,1
+musket,8
+muskets,4
+muskiness,2
+musky,3
+must,293
+mustard,2
+muster,3
+mustered,1
+mustering,3
+mustn't,1
+musty,1
+mutations,1
+mute,3
+mutely,2
+muteness,3
+mutes,1
+mutilated,1
+mutineer,3
+mutineers,1
+mutinous,2
+mutiny,3
+mutinying,1
+mutter,3
+muttered,17
+muttering,4
+mutters,2
+mutual,5
+mutually,3
+muzzle,1
+my,589
+myrrh,1
+myself,69
+mysteries,5
+mysterious,11
+mysteriously,2
+mystery,9
+mystic,17
+mystical,9
+mystically,1
+mysticetus,2
+mystifications,1
+mystifying,1
+mythologies,2
+n,2
+nail,10
+nailed,11
+nailest,1
+nailing,2
+nails,7
+naked,12
+nakedness,2
+name,70
+named,12
+nameless,18
+namelessly,1
+namely,5
+names,13
+nantucket,96
+nantucketer,22
+nantucketers,10
+nantuckois,1
+nap,4
+nape,1
+napkin,1
+napkins,2
+napoleon,3
+napping,1
+nappishness,1
+narcissus,1
+narragansett,1
+narrated,5
+narrates,1
+narrating,2
+narration,2
+narrations,1
+narrative,12
+narrow,12
+narrower,1
+narrowly,3
+narwhale,11
+narwhales,2
+nasty,1
+nat,2
+nathan,2
+nation,5
+national,3
+nations,12
+native,17
+natives,3
+natur,3
+naturae,1
+natural,36
+naturalist,4
+naturalists,11
+naturally,12
+nature,42
+natured,3
+natures,2
+naught,14
+nautical,4
+nautilus,1
+naval,3
+navel,2
+navies,5
+navigation,1
+navigator,1
+navis,1
+navy,5
+nay,29
+ne,1
+ne'er,3
+near,70
+neared,5
+nearer,15
+nearest,10
+nearing,3
+nearly,36
+neat,3
+neatness,1
+necessaries,1
+necessarily,3
+necessary,7
+necessitated,2
+necessitates,3
+necessities,3
+necessity,7
+neck,17
+necklace,2
+necks,4
+need,14
+needed,7
+needful,1
+needing,1
+needle,11
+needles,11
+needlessly,1
+needs,20
+negations,1
+negative,2
+negatived,1
+negatively,1
+neglect,1
+neglected,2
+negligence,1
+negro,23
+negroes,1
+neighbor,1
+neighborhood,1
+neighboring,4
+neighbors,3
+neighbour,1
+neither,16
+nelson,3
+nephew,1
+nerve,1
+nervous,9
+nervously,2
+nervousness,2
+nescio,1
+neskyeuna,2
+nest,11
+nestle,1
+nestling,1
+nests,1
+net,5
+netherlands,1
+nets,1
+netted,1
+network,1
+neutral,3
+never,206
+nevertheless,50
+new,102
+newby,1
+newcastle,1
+newfoundland,2
+newlanded,1
+newly,6
+news,11
+newsletter,1
+newspaper,2
+next,56
+niagara,2
+nibbling,1
+nice,3
+nicely,2
+nicholas,1
+nick,2
+nieces,1
+niger,1
+nigh,44
+night,150
+nightfall,2
+nightgown,1
+nightly,1
+nightmare,2
+nights,11
+nile,2
+nill,1
+nimble,3
+nimbly,1
+nine,10
+nineteenth,2
+ninetieth,2
+ninety,7
+nineveh,6
+niphon,1
+nipper,1
+nippers,1
+no,596
+noah,8
+noble,44
+noblemen,1
+nobler,4
+noblest,3
+nobly,2
+nobody,2
+nod,3
+nodded,2
+noder,1
+nods,2
+noise,12
+noiseless,7
+noiselessly,1
+noiselessness,1
+noises,2
+noisy,2
+nomenclature,1
+nominal,2
+nominally,4
+nomine,2
+non,3
+nonce,2
+nondescript,1
+nondescripts,1
+none,34
+nonplussed,1
+nonproprietary,1
+nonsense,4
+nooks,3
+noon,19
+nooses,1
+nor,156
+normal,1
+norse,1
+north,16
+northern,11
+northman,1
+northward,4
+northwards,1
+northwest,1
+norway,1
+norwegian,1
+nose,32
+nosed,1
+nosegay,2
+nosegays,1
+noses,4
+nostril,2
+nostrils,7
+not,1171
+not'ing,1
+notabilities,1
+notched,1
+notches,2
+note,6
+noted,3
+notes,4
+noteworthy,3
+nothing,115
+nothingness,1
+notice,14
+noticed,11
+noticing,1
+notified,1
+notifies,1
+noting,2
+notion,4
+notions,2
+notoriety,1
+notorious,3
+notwithstanding,6
+noun,1
+nourished,2
+nourishing,1
+nourishment,2
+november,2
+now,786
+nowadays,5
+noways,1
+nowhere,5
+nowise,2
+nudging,1
+nuee,4
+numbed,1
+number,28
+numbered,1
+numberless,5
+numbers,6
+numbness,1
+numerous,17
+nun,1
+nuptial,1
+nurse,3
+nurseries,1
+nursery,3
+nursing,3
+nurtured,4
+nut,4
+nutmeg,1
+nuts,2
+o,31
+o'clock,12
+o'er,1
+oahu,1
+oak,5
+oaken,5
+oakes,1
+oaks,3
+oakum,5
+oar,28
+oars,39
+oarsman,15
+oarsmen,17
+oasis,1
+oath,7
+oaths,5
+oats,1
+ob,3
+obed,3
+obedience,8
+obedient,2
+ober,1
+obey,8
+obeyed,2
+obeyest,1
+obeying,5
+obeys,1
+obituary,1
+object,39
+objected,1
+objection,2
+objectionable,1
+objections,2
+objects,11
+obligations,2
+oblige,2
+obliged,5
+oblique,3
+obliquely,8
+obliquity,1
+obliterated,1
+oblivious,4
+oblong,3
+oblongs,1
+obscure,1
+obscured,3
+obscurely,2
+obscures,1
+obscuring,1
+obscurity,1
+obsequious,1
+observable,2
+observance,1
+observant,1
+observation,5
+observations,2
+observatory,1
+observe,11
+observed,18
+observers,1
+observest,1
+observing,8
+obsolete,3
+obstacle,1
+obstetrics,2
+obstinacy,1
+obstinate,2
+obstinately,1
+obstreperously,1
+obstructed,1
+obtain,6
+obtained,7
+obtaining,2
+obtains,1
+obtruding,1
+obvious,11
+obviously,1
+occasion,10
+occasional,9
+occasionally,14
+occasioned,1
+occasions,5
+occult,1
+occupant,1
+occupants,1
+occupation,3
+occupied,9
+occupies,1
+occupying,1
+occur,8
+occurred,10
+occurrence,2
+occurs,1
+ocean,81
+oceanica,1
+oceans,16
+ochotsh,1
+octavo,12
+octavoes,1
+october,1
+odd,10
+oddish,1
+oddly,1
+odds,6
+oder,1
+oders,1
+odious,1
+odor,5
+odoriferous,1
+odorless,1
+odorous,3
+of,6732
+off,220
+offence,1
+offensive,1
+offensively,1
+offer,8
+offered,12
+offering,4
+offers,4
+office,11
+officer,15
+officered,1
+officers,20
+offices,1
+official,8
+officially,1
+officiating,1
+officio,2
+offing,4
+offspring,1
+oft,3
+often,73
+oftener,4
+oftenest,1
+oftentimes,6
+oh,156
+ohio,3
+oil,90
+oiled,1
+oilpainting,1
+oils,1
+oily,4
+ointment,1
+olassen,1
+old,452
+olden,1
+older,2
+oldest,4
+olfactories,2
+olive,3
+olmstead,1
+oly,1
+ombay,1
+omen,6
+omens,2
+ominous,3
+omit,2
+omitted,5
+omnipotent,5
+omnipresence,1
+omnipresent,1
+omniscient,2
+omnisciently,1
+omnitooled,1
+omnivorous,1
+on,1073
+once,149
+one,925
+oneness,1
+ones,19
+oneself,1
+online,4
+only,378
+onset,6
+onsets,1
+ontario,2
+onward,1
+oozed,1
+oozy,2
+opal,1
+open,76
+opened,9
+opening,15
+openly,3
+openmouthed,1
+opens,2
+opera,1
+operas,1
+operate,2
+operated,4
+operates,1
+operating,1
+operation,8
+operations,3
+operator,1
+ophites,1
+opine,3
+opined,1
+opinion,14
+opinions,2
+opium,1
+opportunities,2
+opportunity,6
+oppose,2
+opposed,1
+opposing,6
+opposite,18
+oppositely,1
+opposition,1
+optically,1
+opulence,1
+opulent,2
+or,797
+orange,3
+orator,1
+orbits,1
+orbs,2
+orchard,2
+orchestra,1
+ordained,2
+ordaining,1
+order,64
+ordered,8
+ordering,1
+orders,24
+ordinaire,1
+ordinarily,3
+ordinary,19
+oregon,2
+organ,8
+organizations,1
+organized,2
+organs,4
+orgies,2
+orient,1
+oriental,12
+orientals,1
+origin,3
+original,23
+originally,17
+originate,1
+originated,1
+originator,1
+orion,1
+orisons,1
+ork,1
+orleans,1
+orlop,2
+ornament,1
+ornamental,1
+ornamented,3
+ornaments,1
+orphan,1
+orphans,5
+orthodox,1
+orthodoxy,1
+os,1
+oscillates,1
+osseous,1
+ostensible,1
+ostentatious,2
+ostentatiously,4
+ostrich,1
+other,430
+others,40
+otherwise,26
+ottoman,4
+ottomans,1
+ought,8
+oughts,2
+ounce,4
+our,211
+ours,4
+ourselves,15
+oust,2
+out,539
+outbellying,1
+outblown,1
+outbranching,1
+outburst,1
+outcries,1
+outdated,1
+outdone,1
+outer,20
+outermost,2
+outfit,1
+outfits,2
+outlandish,6
+outlandishness,1
+outlast,2
+outlaws,2
+outlet,1
+outlets,2
+outline,4
+outlines,2
+outnumber,1
+outrage,2
+outraged,1
+outrageous,3
+outran,1
+outreaching,1
+outriders,2
+outright,3
+outs,13
+outset,3
+outside,10
+outskirts,2
+outspread,1
+outspreadingly,1
+outstretched,4
+outstretching,1
+outstrip,1
+outward,11
+outwardly,1
+outwards,1
+outweigh,1
+outworks,1
+outyell,1
+oval,1
+over,409
+overawed,1
+overawing,1
+overbalance,1
+overbearing,4
+overboard,27
+overburdening,1
+overclouded,1
+overcome,1
+overdoing,1
+overdone,1
+overflowed,1
+overflowing,2
+overgrowing,1
+overgrowth,1
+overhanging,2
+overhead,6
+overheard,4
+overhearing,2
+overhung,1
+overladen,2
+overlap,1
+overlapping,2
+overlays,1
+overleap,1
+overlook,2
+overlooked,2
+overlooking,2
+overlording,1
+overmanned,1
+overmuch,1
+overpowered,1
+overruling,1
+overrun,1
+overrunningly,1
+overruns,1
+oversailed,1
+overscorning,1
+oversee,1
+overseeing,2
+overshoes,1
+oversight,1
+overspread,1
+overspreading,2
+overstocked,1
+overstrained,1
+overswarm,1
+overtake,3
+overtaken,1
+overtakes,1
+overtaking,1
+overture,1
+overwhelmed,2
+overwhelming,1
+overwrapped,1
+owe,1
+owed,1
+owen,6
+owest,1
+owing,24
+own,205
+owned,5
+owner,11
+owners,20
+owning,2
+owns,3
+ox,6
+oxen,3
+oxygenated,1
+oysters,3
+p,1
+pace,7
+paced,9
+paces,2
+pacific,34
+pacifics,2
+pacing,11
+pack,4
+packed,5
+packet,3
+packs,1
+pactolus,1
+padded,2
+paddle,4
+paddled,3
+paddles,5
+paddling,1
+padlock,1
+padlocks,1
+pads,2
+paean,1
+pagan,23
+pagans,6
+page,10
+pageant,1
+pages,5
+pagoda,4
+paid,14
+pail,1
+pain,2
+paine,1
+pained,2
+painful,2
+painfully,2
+painfulness,1
+pains,15
+painstaking,1
+paint,6
+painted,12
+painter,3
+painters,1
+painting,5
+paintings,4
+paints,2
+pair,12
+pairs,3
+palace,4
+palate,1
+palavering,1
+pale,19
+paled,1
+paler,1
+palest,1
+paley,1
+palisades,1
+pall,2
+pallet,1
+pallid,4
+pallidness,2
+pallor,6
+palm,5
+palmed,2
+palms,15
+palmy,3
+palpable,4
+palpableness,1
+palpably,1
+palsied,2
+palsy,2
+paltry,2
+pampas,1
+pampered,1
+pamphlets,1
+pan,5
+pandects,1
+panel,1
+panelled,2
+panellings,1
+panels,1
+pang,1
+pangs,2
+panic,8
+panics,1
+pannangians,1
+panniers,1
+panoramas,1
+pans,5
+pantaloon,1
+pantaloons,3
+pantheistic,2
+pantheists,1
+pantheon,1
+panther,1
+panting,4
+pantomime,1
+pantry,3
+pants,2
+paper,7
+papered,3
+papers,10
+paperwork,1
+paracelsan,1
+paracelsus,1
+parade,1
+parading,1
+paradise,5
+paragraph,11
+paragraphs,3
+parallel,6
+parallels,1
+paralysed,1
+paralysis,1
+paramount,2
+parcel,4
+parcelling,1
+parched,2
+parchingly,1
+parchment,4
+pardon,5
+paregoric,1
+parent,1
+parenthesize,1
+parents,1
+paris,1
+parisians,1
+park,1
+parks,1
+parliament,3
+parlor,6
+parlors,1
+parm,1
+parmacetti,3
+parmacetty,2
+parricide,1
+parried,1
+parsee,28
+parsley,1
+parson,3
+part,153
+partake,1
+partaking,2
+parted,8
+parti,1
+partial,1
+partiality,1
+partially,4
+participating,1
+particle,3
+particles,1
+particular,51
+particularly,9
+particulars,9
+parties,5
+parting,2
+partitioned,1
+partly,14
+partner,2
+partners,2
+partnership,1
+partook,1
+parts,41
+party,10
+parvo,1
+pascal,1
+pass,31
+passage,34
+passages,1
+passant,1
+passed,42
+passenger,6
+passengers,5
+passer,1
+passes,2
+passing,23
+passion,7
+passionate,3
+passionately,1
+passionateness,1
+passionlessness,1
+passions,2
+passive,1
+passively,1
+passiveness,1
+passport,1
+passports,1
+past,20
+pasteboard,1
+pastiles,1
+pasture,4
+pastures,3
+patagonia,2
+patagonian,4
+patch,1
+patched,5
+patches,1
+patchwork,2
+pate,1
+patent,2
+patentee,1
+patentees,1
+paternal,2
+paternity,1
+path,10
+patience,4
+patient,6
+patrician,1
+patriot,1
+patris,1
+patrolled,1
+patrolling,1
+patron,1
+patronise,1
+patronising,1
+patted,1
+pattern,1
+paul,4
+paunch,2
+pauper,1
+paupered,1
+pause,7
+paused,16
+pauselessly,1
+pauses,2
+pausing,10
+pave,1
+paved,3
+pavement,1
+paves,1
+paw,3
+pawn,1
+paws,2
+pay,19
+paying,5
+payments,3
+pays,3
+pea,2
+peace,11
+peaceable,4
+peaceful,6
+peacefully,1
+peacefulness,1
+peak,2
+peaked,3
+peaking,2
+peaks,3
+pealing,1
+peals,1
+pear,2
+pearl,3
+pearls,1
+peasant,2
+peasants,1
+pebbles,1
+pecked,1
+pecking,2
+pecks,3
+peculiar,56
+peculiarities,11
+peculiarity,7
+peculiarly,6
+peddler,3
+peddlin,1
+peddling,4
+pedestal,1
+pedestals,1
+pedestrian,2
+pedestrians,1
+pedigree,1
+pedlar,1
+pedlars,1
+pedro,5
+peeled,4
+peeling,1
+peels,2
+peep,8
+peeped,2
+peeping,1
+peer,1
+peered,4
+peering,8
+peeringly,1
+peg,2
+pegging,1
+pegu,1
+pekee,2
+peleg,74
+pelisse,1
+pell,2
+pelt,3
+pelted,1
+peltry,1
+pelvis,1
+pen,6
+penal,1
+penalties,1
+pencil,5
+pendants,1
+pendulous,2
+pendulum,1
+penem,1
+penetrate,3
+penetrated,3
+penetrating,2
+peninsula,2
+pennant,1
+pennies,1
+penniless,1
+penning,1
+pennoned,1
+pennons,1
+penny,4
+pens,2
+pensive,1
+pent,2
+people,49
+peopled,1
+peopling,1
+pepper,2
+peppered,1
+pequod,173
+per,2
+peradventure,2
+perceive,8
+perceived,14
+perceiving,3
+perceptibility,1
+perceptible,1
+perceptibly,2
+perception,1
+perch,10
+perchance,4
+perched,8
+perches,3
+perdition,3
+peremptorily,4
+peremptory,2
+perennial,2
+perfect,3
+perfected,1
+perfectly,6
+perfidious,2
+perform,4
+performance,1
+performances,4
+performed,2
+performing,6
+perfume,2
+perfumed,1
+perfumery,1
+perhaps,89
+peril,12
+perilous,15
+perilously,2
+perilousness,1
+perils,24
+period,18
+periodic,1
+periodical,4
+periodically,3
+periodicalness,1
+periods,3
+perish,4
+perishable,1
+perished,6
+perisheth,1
+perishing,4
+permanent,5
+permanently,2
+permission,7
+permit,3
+permitted,7
+permitting,2
+perpendicular,11
+perpendicularly,8
+perpetually,1
+perpetuated,1
+perpetuates,1
+perplexity,3
+perquisites,2
+perry,3
+persecutions,1
+persecutor,1
+perseus,11
+perseverance,1
+persevering,1
+persia,1
+persian,6
+persians,1
+persist,1
+persisted,2
+persisting,2
+person,32
+personal,4
+personality,2
+personally,6
+personified,3
+persons,6
+perspective,1
+perspectives,1
+persuade,3
+persuading,1
+persuasion,1
+persuasions,1
+persuasiveness,1
+pert,1
+pertained,1
+pertaining,5
+pertains,1
+perth,18
+pertinacious,1
+pertinaciously,1
+perturbation,1
+peru,4
+perusal,1
+peruvian,3
+pervades,1
+pervading,6
+perverse,1
+pest,1
+pester,1
+pestiferously,1
+pestilent,2
+peter,10
+peterson,1
+petition,1
+petrified,2
+petticoat,1
+pettiness,1
+petulance,2
+pewter,5
+pg,1
+pglaf,1
+pglaf.org,4
+phaedon,1
+phantom,14
+phantoms,8
+pharaoh,2
+phase,1
+phenomena,1
+phenomenon,5
+phidias,1
+phil,1
+philanthropists,1
+philip,1
+philippe,1
+philippine,1
+philistine,1
+philistines,2
+philologically,1
+philopater,1
+philosopher,4
+philosophers,5
+philosophical,1
+philosophically,1
+philosophies,1
+philosophy,4
+phiz,1
+phospher,1
+phosphorescence,1
+phrase,9
+phraseology,1
+phrases,1
+phrenological,2
+phrenologically,3
+phrenologist,2
+phrenologists,2
+phrenology,1
+phrensied,1
+phrensies,2
+phrensy,2
+physeter,2
+physical,6
+physiognomical,2
+physiognomically,3
+physiognomist,1
+physiognomy,1
+physiologist,1
+piazza,2
+pick,11
+picked,11
+picking,4
+pickle,5
+pickled,1
+pickles,1
+pictorial,1
+picture,19
+pictures,16
+picturesque,2
+picturesquely,1
+picturesqueness,2
+pie,2
+piece,16
+pieces,18
+pier,1
+pierce,2
+pierced,4
+piercer,1
+piercing,4
+piers,1
+piety,2
+pig,6
+piggin,1
+piggledy,1
+pike,9
+pikes,2
+pilau,1
+pile,7
+piled,14
+piles,1
+pilfering,1
+pilgrim,3
+pilgrims,1
+piling,2
+pill,1
+pillaged,1
+pillar,2
+pillars,1
+pillow,7
+pills,2
+pilot,28
+piloted,1
+pilots,2
+pin,6
+pincers,1
+pinch,1
+pinched,1
+pine,11
+pines,3
+pinioned,3
+pinmoney,1
+pinned,1
+pinnings,1
+pinny,1
+pins,2
+pint,3
+pioneer,2
+pious,10
+piously,1
+pip,74
+pipe,41
+pipes,8
+piping,1
+pippin,1
+pirate,5
+pirates,11
+piratical,2
+pirohitee,1
+pirouetting,1
+pisces,1
+pistol,6
+pistoles,1
+pistols,2
+pit,7
+pitch,19
+pitched,10
+pitcher,1
+pitchers,1
+pitches,2
+pitchiest,1
+pitching,6
+pitchpoled,1
+pitchpoler,1
+pitchpoling,6
+piteous,2
+pitferren,1
+pitiable,3
+pitied,1
+pitiful,3
+pitiless,2
+pitted,1
+pity,10
+pivot,7
+pizarro,1
+placard,1
+placards,1
+place,117
+placed,37
+placeless,2
+placelessly,1
+places,20
+placid,1
+placidity,2
+placidly,1
+placing,7
+plague,5
+plagues,1
+plaguey,1
+plaguy,2
+plaid,1
+plain,40
+plainest,2
+plainly,39
+plains,3
+plaintiffs,6
+plaintive,1
+plaintively,1
+plaintiveness,1
+plaited,4
+plaits,1
+plan,11
+plane,8
+planed,2
+planet,3
+planetarily,1
+planets,3
+planing,2
+planisphere,2
+plank,17
+planks,31
+planned,1
+plans,1
+plant,3
+plantation,3
+planted,14
+planting,4
+plaster,3
+plasters,1
+plata,2
+plate,8
+plates,7
+platform,1
+platformed,1
+plato,2
+platonian,2
+platonic,1
+platonist,1
+platonists,1
+platters,1
+plaudits,1
+plausible,1
+play,29
+played,2
+players,2
+playful,3
+playfully,1
+playing,6
+plays,2
+plaything,1
+plazza,1
+pleadings,2
+pleasant,16
+pleasantly,1
+pleasantness,1
+please,16
+pleased,9
+pleases,1
+pleasing,1
+pleasure,4
+pleasuring,1
+pleated,4
+plebeian,1
+pledge,3
+pledges,1
+plentiful,1
+plentifully,1
+plenty,18
+plethoric,1
+pliable,1
+plied,1
+plight,5
+pliny,8
+plough,1
+ploughed,1
+ploughing,2
+plowdon,2
+pluck,2
+plucked,3
+plug,4
+plugged,1
+plum,3
+plumage,4
+plumb,1
+plumbs,1
+plumed,3
+plumes,1
+plummet,1
+plump,4
+plumping,1
+plums,1
+plunder,2
+plunge,3
+plunged,9
+plunging,6
+plungingly,1
+plungings,1
+plurality,1
+plutarch,1
+ply,2
+plying,3
+pm,1
+pocket,12
+pocketing,1
+pockets,8
+pod,4
+pods,4
+poem,2
+poet,2
+poetic,3
+poetical,2
+poets,3
+point,72
+pointed,29
+pointest,1
+pointing,19
+pointless,1
+points,14
+poise,2
+poised,3
+poising,2
+poison,4
+poisonous,3
+poke,3
+poked,1
+poker,1
+poky,3
+poland,2
+polar,13
+pole,29
+poled,1
+poles,12
+police,1
+policeman,1
+policemen,1
+policy,5
+polish,1
+polished,7
+polishing,1
+polite,5
+politely,4
+politeness,1
+political,2
+pollard,3
+poltroon,2
+poly,1
+polynesia,1
+polynesian,2
+polynesians,1
+pomatum,1
+pommel,1
+pomp,1
+pompey,1
+pomps,1
+poncho,1
+ponchos,1
+pond,2
+pondered,4
+pondering,5
+ponderings,1
+ponderosity,1
+ponderous,13
+poniard,1
+poniards,1
+pontoppodan,1
+pony,1
+pooh,3
+pool,5
+poop,1
+poor,114
+poorest,1
+poorly,1
+pop,1
+popayan,1
+pope,2
+popped,1
+popping,1
+popular,8
+popularize,1
+popularly,8
+population,3
+populous,2
+populousness,1
+porch,2
+porches,1
+porcupine,1
+pore,1
+poring,2
+pork,2
+porpoise,19
+porpoises,7
+port,26
+portable,3
+portcullis,2
+portent,1
+portentous,6
+portentousness,2
+portents,5
+porter,1
+porthole,2
+portion,4
+portions,3
+portly,4
+portrait,4
+portraits,1
+ports,9
+portugal,1
+portuguese,3
+porus,2
+poser,1
+posies,1
+position,15
+positive,3
+positively,1
+posse,2
+possess,5
+possessed,8
+possesses,2
+possessing,3
+possession,13
+possessions,1
+possibilities,2
+possibility,5
+possible,30
+possibly,30
+post,22
+posted,8
+posterity,4
+posting,1
+postman,1
+postpone,1
+postponedly,1
+postponing,1
+postscript,1
+posture,5
+pot,10
+potatoes,1
+potencies,1
+potency,5
+potent,6
+potentates,1
+potentially,1
+potion,1
+potluck,1
+pots,18
+pott,1
+potters,1
+pottery,1
+pottowottamie,1
+pottsfich,1
+pouch,2
+pounce,1
+pound,6
+pounded,1
+pounds,4
+pour,5
+poured,5
+pouring,3
+pours,2
+pout,3
+povelson,2
+poverty,1
+powder,9
+powdered,1
+powders,1
+power,38
+powerful,3
+powerfully,1
+powerless,2
+powers,7
+pox,1
+practicable,4
+practical,13
+practically,4
+practices,1
+practised,3
+praetorians,1
+prairie,12
+prairies,6
+praises,1
+prate,1
+prating,1
+pray,8
+prayed,2
+prayer,4
+prayers,6
+praying,3
+pre,6
+preach,4
+preacher,4
+preaching,3
+preble,1
+precaution,1
+precautionary,1
+precede,2
+preceded,2
+precedence,1
+precedents,1
+precedes,1
+preceding,6
+precincts,1
+precious,18
+preciousness,1
+precipice,1
+precipitancy,2
+precipitating,1
+precise,19
+precisely,27
+precision,3
+predecessor,1
+predecessors,1
+predestinated,4
+predestinating,1
+predicament,1
+predicted,1
+prediction,1
+predictions,2
+predominating,1
+preeminence,1
+preface,1
+prefecture,1
+prefer,2
+preferred,1
+prefers,2
+prefigured,1
+prefix,1
+pregnant,3
+prehensile,2
+prejudices,3
+preliminaries,2
+preliminary,8
+preluding,3
+prelusive,1
+premature,2
+prematurely,2
+premeditated,1
+premised,1
+premises,3
+premium,2
+premonitory,1
+preparation,3
+preparations,2
+preparative,1
+preparatives,1
+prepare,4
+prepared,12
+prepares,1
+preparing,3
+preposterous,2
+presaged,1
+presaging,1
+presbyterian,3
+presbyterians,1
+prescience,1
+prescient,1
+prescribed,1
+prescription,1
+prescriptive,1
+presence,6
+present,80
+presentations,2
+presented,19
+presentiment,2
+presentiments,1
+presenting,2
+presently,19
+presentment,1
+presents,7
+preserve,6
+preserved,5
+preserver,2
+preservers,1
+preserving,4
+preside,1
+presided,2
+presidency,1
+president,1
+presides,1
+presiding,2
+press,3
+pressed,9
+pressing,1
+pressure,4
+prestige,2
+presto,2
+presumable,1
+presume,4
+presumed,9
+presuming,1
+presumption,3
+pretend,7
+pretending,2
+preternatural,5
+preternaturalness,1
+pretty,29
+prevail,3
+prevailed,3
+prevailing,1
+prevalent,1
+prevent,7
+prevented,2
+preventer,1
+prevents,1
+previous,36
+previously,17
+prey,14
+price,1
+prices,2
+prick,7
+pricked,1
+pricking,3
+pride,8
+priest,10
+priests,5
+primal,4
+primary,2
+prime,6
+primer,1
+primers,1
+primeval,1
+primitive,3
+primitively,1
+primogenitures,1
+prince,4
+princely,2
+princes,2
+princess,1
+principal,5
+principle,9
+principles,4
+print,2
+printed,4
+printing,1
+prints,5
+prior,7
+priority,3
+prison,2
+prisoner,2
+prisoners,1
+private,13
+privateers,1
+privation,1
+privations,1
+privilege,7
+privileges,2
+prize,3
+prized,1
+proas,1
+probabilities,1
+probability,6
+probable,6
+probably,15
+probationary,1
+probed,1
+problem,8
+problematical,1
+problems,2
+procedure,5
+procedures,1
+proceed,15
+proceeded,6
+proceeding,5
+proceedings,5
+proceeds,8
+process,5
+processing,1
+procession,3
+processions,3
+proclaimed,1
+proclamation,1
+procopius,3
+procure,2
+procured,2
+procuring,1
+prodigies,3
+prodigious,18
+prodigiously,1
+prodigy,3
+prodromus,1
+produce,6
+produced,9
+produces,1
+producing,6
+production,2
+productive,1
+profane,5
+profaned,1
+profanely,2
+professed,1
+profession,5
+professional,5
+professions,2
+professor,5
+professors,1
+proffer,1
+profile,5
+profiles,1
+profit,5
+profitable,1
+profitably,1
+profits,4
+profound,20
+profounder,2
+profoundest,5
+profoundly,3
+profundities,4
+profundity,2
+profuse,1
+profusion,1
+progenitors,1
+progeny,3
+programme,1
+progress,5
+progression,3
+progressive,1
+prohibition,1
+project,91
+projected,3
+projecting,10
+projections,1
+projects,2
+prolonged,11
+prolongingly,1
+prolongings,1
+promenade,1
+prometheus,4
+prominence,2
+prominent,1
+prominently,2
+promiscuously,1
+promise,7
+promised,3
+promises,1
+promising,4
+promissory,1
+promontories,1
+promontory,5
+promoting,2
+promotion,3
+promptitude,1
+promptly,1
+prompts,1
+prone,1
+pronged,2
+pronounced,5
+pronouncing,3
+proof,2
+proofread,1
+proofreaders,1
+prop,1
+propelled,1
+propellers,1
+propensity,2
+proper,32
+properly,9
+properties,1
+property,9
+prophecies,1
+prophecy,4
+prophesied,1
+prophesies,1
+prophesy,1
+prophesy'd,1
+prophet,16
+prophetic,1
+prophets,3
+propontis,4
+proportion,3
+proportionate,2
+proportioned,1
+proportions,3
+propose,4
+proposed,3
+propped,1
+proprietary,1
+proprietor,2
+proprietors,3
+propriety,2
+props,1
+propulsion,1
+prose,1
+prosecuted,1
+prosecution,3
+prospect,5
+prospectively,1
+prospects,4
+prosperous,1
+prostrate,1
+prostration,1
+protect,4
+protected,1
+protecting,1
+protection,4
+protestant,1
+protested,1
+protesting,1
+protracted,2
+protruded,1
+protruding,1
+protrusion,1
+protuberance,1
+proud,8
+prouder,3
+proudly,3
+prove,13
+proved,16
+proverb,4
+proverbial,1
+proverbially,1
+proves,2
+provide,9
+provided,10
+providence,3
+provident,1
+providential,1
+providentially,1
+provides,2
+providing,6
+province,2
+provinces,1
+provincial,1
+provincialisms,1
+provincials,1
+proving,1
+provision,3
+provisions,1
+provocation,1
+provoke,1
+provoked,1
+prow,21
+prowling,1
+prows,3
+prudent,7
+prudential,3
+prudently,1
+pruning,1
+pry,4
+pryed,1
+prying,3
+prynne,2
+psalmody,3
+psalms,2
+ptolemy,1
+public,15
+publicly,1
+published,8
+publisher,1
+pudding,5
+puddingers,1
+puddings,1
+puff,6
+puffed,1
+puffing,4
+puffs,5
+pugilists,1
+pugnacious,2
+puissant,1
+pull,48
+pulled,13
+pulling,24
+pulls,1
+pulpit,16
+pulpits,2
+pulpy,1
+pulsations,1
+pulse,3
+pulverize,2
+pump,6
+pumping,2
+pumps,15
+punch,6
+punchbowl,4
+puncheons,1
+punches,1
+punctilious,2
+punctiliously,1
+punctual,1
+punctually,1
+punctured,1
+punctures,1
+punish,1
+punishment,3
+punitive,1
+pupella,3
+pupils,2
+purchas,3
+purchased,4
+purchasing,1
+pure,9
+purely,3
+purest,3
+purge,1
+puritanic,1
+puritans,1
+purple,6
+purplish,3
+purporting,3
+purpose,42
+purposed,1
+purposeless,1
+purposely,3
+purposes,3
+purposing,2
+purr,1
+purse,7
+pursed,1
+pursue,2
+pursued,10
+pursuers,5
+pursuing,5
+pursuit,24
+pursuits,2
+purty,1
+push,6
+pushed,15
+pushes,1
+pushing,6
+pusie,1
+put,73
+puts,3
+putting,16
+puzzle,3
+puzzled,3
+puzzling,2
+pyramid,7
+pyramidical,2
+pyramids,3
+pyres,1
+pyrrho,1
+pythagoras,1
+pythagorean,1
+quadrant,8
+quadruped,3
+quadrupeds,1
+quaff,1
+quaffed,1
+quahogs,1
+quailed,1
+quaint,2
+quaintness,1
+quaked,1
+quaker,10
+quakeress,2
+quakerish,1
+quakerism,1
+quakers,3
+qualified,3
+qualities,5
+quality,7
+quantity,13
+quarantine,1
+quarrel,1
+quarrelsome,1
+quarrelsomely,1
+quarried,2
+quarter,47
+quarters,5
+quarto,4
+quarts,1
+quay,1
+quebec,2
+queen,18
+queenly,1
+queens,5
+queequeg,252
+queer,44
+queerest,3
+quenchless,1
+quest,10
+question,29
+questionable,1
+questionably,1
+questioned,2
+questioning,2
+questionings,1
+questions,7
+quick,40
+quicken,1
+quickening,2
+quicker,2
+quickest,2
+quickly,21
+quicksand,1
+quicksilver,1
+quid,2
+quiescence,1
+quiescent,2
+quiet,12
+quietest,1
+quietly,19
+quietude,4
+quig,1
+quill,4
+quills,2
+quilt,2
+quilted,1
+quit,9
+quite,41
+quito,3
+quits,1
+quitted,4
+quitting,6
+quiver,3
+quivered,1
+quivering,4
+quivers,2
+quog,1
+quoggy,1
+quohog,9
+quohogs,1
+quoin,3
+quoins,1
+quote,1
+quoted,3
+raal,1
+rabbins,1
+rabble,1
+rabelais,2
+rabid,1
+race,17
+raced,1
+races,1
+rachel,6
+racing,1
+rack,9
+racket,2
+rad,4
+radiance,2
+radiant,1
+radiates,1
+radiating,3
+radical,1
+radney,22
+rafted,1
+rafters,2
+rafts,1
+rag,2
+ragamuffin,1
+rage,10
+ragged,4
+raging,5
+rags,3
+rail,9
+railing,1
+railroads,1
+rails,1
+railway,1
+railways,1
+raiment,2
+raimond,1
+rain,5
+rainbow,2
+rainbowed,2
+rainbows,3
+rains,2
+rainy,1
+raise,9
+raised,20
+raises,6
+raising,5
+rake,2
+raked,1
+rakes,1
+rallied,3
+rallies,1
+rally,2
+ram,7
+ramadan,11
+ramadans,2
+rambled,1
+ramblings,1
+ramifying,1
+rammed,2
+ramming,1
+rampart,3
+ramparts,1
+ran,24
+randolphs,1
+random,5
+rang,1
+ranged,8
+ranges,1
+ranging,7
+rank,2
+ranks,2
+rap,3
+rapacious,2
+rape,1
+raphael,1
+rapid,12
+rapidity,1
+rapidly,19
+rapping,1
+rapscallions,1
+rapt,2
+rapture,1
+rare,16
+rarely,2
+rarities,1
+rarmai,1
+rascal,6
+rascally,1
+rascals,1
+rat,3
+rate,18
+rates,1
+rather,72
+ratification,1
+ratifying,1
+rats,1
+rattle,1
+rattler,2
+rattling,4
+raved,1
+ravening,1
+ravenous,1
+ravens,1
+ravines,1
+raving,2
+ravished,1
+raw,1
+ray,3
+rays,6
+rayther,1
+razeed,1
+razor,4
+razors,2
+re,7
+reach,14
+reached,19
+reaches,1
+reaching,13
+read,30
+readable,2
+reader,5
+readily,13
+readiness,5
+reading,9
+reads,2
+ready,40
+real,23
+realities,1
+reality,7
+realize,1
+realizing,1
+really,30
+reap,1
+reaped,3
+reapers,1
+reaping,1
+reappearance,2
+reappeared,2
+rear,22
+rearing,5
+rears,1
+rearward,1
+reason,64
+reasonable,9
+reasonableness,1
+reasonably,2
+reasonest,1
+reasoning,4
+reasons,11
+rebel,1
+rebelled,1
+rebelling,1
+rebellion,3
+rebels,1
+rebounds,2
+rebut,1
+recall,6
+recalled,6
+recede,1
+receding,2
+receipt,2
+receive,11
+received,31
+receives,3
+receiving,14
+recent,2
+recentest,1
+recently,5
+receptacle,1
+reception,1
+receptive,1
+rechristened,1
+rechurned,1
+reciprocal,1
+reciprocally,1
+reciprocating,2
+reckless,5
+recklessly,6
+recklessness,2
+reckon,2
+reckoned,1
+reckoning,6
+reclines,1
+reclining,5
+recluse,1
+recluseness,1
+recognise,2
+recognised,9
+recognition,3
+recoil,3
+recollect,1
+recollection,2
+recommended,2
+recommends,1
+reconciled,2
+recondite,2
+record,7
+recorded,4
+records,1
+recounted,2
+recover,2
+recovered,4
+recovers,1
+recovery,3
+recreate,1
+recrossed,1
+recrossing,1
+recruit,1
+recumbent,2
+recur,1
+recurred,1
+recurring,2
+red,40
+reddened,1
+reddenest,1
+reddening,2
+redder,1
+reddish,1
+redeemed,2
+redeeming,1
+redistribute,1
+redistributing,2
+redistribution,2
+redness,4
+redolent,1
+redoubled,2
+redoubted,1
+reduced,2
+redundant,2
+reef,4
+reefed,3
+reefing,1
+reefs,1
+reel,9
+reeled,6
+reeling,4
+reelingly,1
+reelman,1
+reeved,1
+reeving,1
+refer,3
+reference,14
+references,2
+referred,4
+referring,2
+refill,3
+refining,1
+refiningly,1
+reflected,2
+reflection,6
+reflections,4
+reforming,1
+refrained,4
+refreshing,1
+refrigerators,1
+refuge,5
+refugees,1
+refund,10
+refuse,6
+refused,4
+refuses,1
+refusing,1
+reg'lar,1
+regained,1
+regal,4
+regale,1
+regard,9
+regarded,24
+regardful,1
+regarding,5
+regardings,1
+regardless,1
+regards,2
+regent,1
+regiments,1
+regina,1
+region,5
+regions,4
+registered,2
+regular,24
+regularity,1
+regularly,18
+regulating,2
+regulations,1
+rehearse,1
+rehearsed,2
+rehearsing,2
+reign,3
+reigned,6
+reigneth,1
+reigning,1
+reigns,2
+reined,1
+reinforced,1
+reinforcement,1
+reiterated,1
+reiterating,1
+rejecting,2
+rejection,1
+rejoice,2
+rejoicing,2
+rejoinder,2
+rejoined,3
+relapses,1
+relate,1
+related,6
+relation,2
+relations,1
+relative,2
+relatively,1
+relatives,1
+relaxed,4
+release,1
+relent,1
+relented,1
+reliable,5
+reliably,2
+reliance,1
+relics,4
+relied,1
+relief,6
+relieve,3
+relieved,10
+relieving,1
+relievo,1
+religion,7
+religionists,1
+religions,3
+religious,2
+relinquish,3
+relish,4
+reluctantly,1
+relying,1
+remain,24
+remainder,3
+remained,34
+remaining,12
+remains,24
+remark,5
+remarkable,13
+remarkably,1
+remarked,1
+remarking,1
+remarks,2
+remedies,1
+remember,17
+remembered,6
+remembering,2
+remembrance,2
+remembrances,1
+remind,1
+reminded,4
+reminding,1
+reminds,4
+reminiscence,2
+reminiscences,2
+remnant,1
+remnants,2
+remonstrance,1
+remonstrances,1
+remonstrate,1
+remonstrated,1
+remonstrating,1
+remorse,1
+remorseless,6
+remorselessly,4
+remote,11
+remoter,2
+remotest,10
+remounting,1
+remove,6
+removed,12
+removing,6
+remunerative,1
+renamed,1
+rend,1
+render,4
+rendered,1
+rendering,4
+renders,2
+rending,1
+renegades,2
+renewed,1
+renounce,2
+renounced,1
+renouncing,1
+renown,1
+renowned,1
+rensselaers,1
+rented,1
+repair,3
+repaired,1
+repairing,3
+repartees,1
+repassing,1
+repast,3
+repeat,2
+repeated,21
+repeatedly,3
+repeating,1
+repel,1
+repelled,1
+repelling,1
+repellingly,1
+repels,1
+repent,1
+repentance,3
+repentant,1
+repenting,2
+repetition,2
+repetitions,1
+replace,2
+replaced,4
+replacement,5
+replacing,3
+replenish,1
+replenished,5
+replenishes,1
+replied,11
+reply,7
+report,8
+reported,5
+reporting,2
+reports,2
+repose,11
+reposes,1
+reposing,2
+reprehensible,1
+represent,2
+representations,1
+represented,3
+representing,7
+represents,1
+repressed,1
+reprimand,1
+reproach,1
+reproachfully,1
+reptile,4
+republica,1
+republican,1
+repugnance,3
+repulses,1
+reputation,4
+repute,1
+reputed,1
+request,4
+requiem,2
+requin,1
+require,5
+required,3
+requirements,4
+requires,7
+requirest,1
+requiring,2
+requisite,2
+requisition,1
+rescue,5
+rescued,2
+rescuing,1
+research,6
+researches,3
+resemblance,6
+resemblances,1
+resemble,2
+resembled,3
+resembles,2
+resembling,5
+resent,1
+resentment,2
+reservation,1
+reserve,1
+reserved,9
+reserving,1
+reservoir,3
+reservoirs,1
+resided,1
+resident,1
+resides,3
+residing,1
+residuary,1
+residue,1
+resign,1
+resigned,2
+resist,1
+resistance,4
+resisted,1
+resolutely,2
+resolution,3
+resolve,2
+resolved,13
+resolves,2
+resolving,1
+resort,3
+resorting,1
+resounded,1
+resounds,2
+respect,16
+respectable,3
+respected,1
+respectful,2
+respectfully,4
+respecting,2
+respective,4
+respectively,4
+respects,8
+respiration,2
+respirations,1
+respires,1
+respite,2
+resplendent,2
+respond,1
+responded,3
+response,2
+responses,1
+responsibilities,1
+responsible,1
+rest,51
+rested,2
+resting,12
+restless,4
+restlessness,1
+restore,1
+restored,3
+restores,1
+restrain,2
+restrained,1
+restraint,1
+restricted,3
+restricting,1
+restrictions,2
+rests,2
+result,5
+resulting,3
+results,1
+resume,2
+resumed,6
+resuming,6
+resurrection,6
+resurrections,1
+retain,7
+retained,10
+retaining,1
+retains,1
+retaken,1
+retaking,1
+retarded,1
+retarding,1
+retention,1
+retentive,1
+reticule,1
+retired,6
+retires,1
+retiring,3
+retrace,1
+retraced,1
+retracing,1
+retreat,5
+retreated,4
+retreating,3
+retreats,3
+retribution,3
+return,16
+returne,1
+returned,14
+returning,8
+returns,3
+rev,2
+reveal,4
+revealed,18
+revealing,5
+revelation,3
+revelations,2
+revelled,1
+revellers,1
+revelry,5
+revels,1
+revenge,8
+revengeful,1
+revenue,3
+reverberating,1
+reverberations,1
+revered,1
+reverence,4
+reverenced,1
+reverend,5
+reverential,1
+reverentially,1
+reverie,3
+reveries,6
+reverse,1
+reversed,4
+reversing,1
+revery,1
+reviewed,1
+revival,1
+revive,2
+revived,2
+revivified,1
+revolutions,1
+revolve,4
+revolved,5
+revolves,1
+revolving,9
+revolvingly,1
+revulsion,1
+reward,4
+rex,1
+reydan,1
+rhenish,1
+rheumatic,3
+rhodes,1
+rhubarb,1
+rhyme,3
+rib,13
+ribbed,7
+ribboned,1
+ribbons,1
+ribby,1
+ribs,21
+rich,8
+richard,2
+richardson,1
+richer,2
+richly,1
+richness,2
+rickety,1
+rid,4
+ridden,2
+riddle,4
+riddles,2
+ride,3
+rider,3
+rides,2
+ridge,5
+ridges,2
+ridiculous,5
+riding,3
+rifle,4
+rifled,1
+rifles,1
+rig,9
+rigadig,1
+rigged,7
+rigger,3
+riggers,3
+rigging,34
+right,155
+righted,2
+righteous,3
+righteousness,1
+rightly,2
+rights,6
+rigid,2
+rigorous,1
+rim,2
+rimmed,1
+rinaldini,1
+rinaldo,1
+rind,2
+ring,17
+ringbolts,2
+ringed,4
+ringing,4
+ringleader,3
+rings,7
+rio,2
+rioting,1
+riotous,4
+riotously,1
+riots,2
+rip,1
+ripe,6
+ripening,1
+ripped,1
+ripple,2
+ripples,2
+rippling,4
+ripplingly,1
+rips,1
+ript,1
+rise,20
+risen,3
+rises,9
+rising,31
+risings,1
+risk,5
+risked,1
+risks,1
+rituals,1
+rival,3
+rivallingly,1
+rivals,2
+river,7
+rivers,3
+rivet,1
+riveted,5
+road,5
+roanoke,2
+roar,6
+roared,13
+roaring,9
+roast,3
+roasted,1
+rob,1
+robbed,2
+robbers,1
+robe,3
+robed,1
+robert,1
+robes,5
+robust,3
+robustness,3
+rock,16
+rockaway,1
+rocked,5
+rocket,1
+rockets,1
+rocking,8
+rockings,1
+rocks,17
+rocky,5
+rod,15
+rodmond,1
+rods,12
+rogers,1
+rogue,1
+rogues,1
+rokovoko,3
+roll,18
+rolled,43
+rollicking,2
+rolling,35
+rollings,1
+rolls,14
+roly,1
+roman,15
+romans,3
+romantic,7
+rome,5
+romish,3
+rondeletius,1
+roods,2
+roof,3
+roofed,1
+roofs,1
+room,57
+rooms,5
+roomy,1
+roosting,1
+root,4
+rooted,5
+roots,3
+rope,59
+ropes,13
+ropeyarn,1
+rose,35
+roses,5
+ross,3
+rostrated,1
+rosy,2
+rot,3
+rotation,2
+rotten,1
+rotund,1
+rough,4
+roughly,1
+round,247
+roundabout,2
+rounded,5
+rounder,1
+rounding,4
+roundingly,1
+roundly,1
+roundness,1
+rounds,3
+rouse,1
+roused,3
+rouses,1
+rousing,1
+rousseau,1
+rout,1
+route,3
+routed,2
+routine,1
+rover,3
+roving,2
+row,17
+rowed,1
+rowels,1
+rowing,8
+rowlocks,1
+rows,9
+royal,29
+royals,3
+royalties,3
+royalty,6
+rub,1
+rubbed,3
+rubbing,4
+rubies,1
+ruddy,3
+rude,5
+rudely,2
+rudeness,1
+rudimental,2
+rue,1
+rueful,1
+ruefully,2
+ruffed,1
+ruffled,1
+ruffles,1
+rug,1
+rugged,1
+ruggedest,1
+ruggedness,1
+ruin,5
+ruined,1
+ruinous,2
+ruins,2
+rule,6
+rulers,1
+rules,5
+ruling,1
+rum,3
+rumbled,1
+rumbles,1
+rumbling,2
+ruminated,2
+ruminating,1
+rummaged,1
+rumor,1
+rumors,8
+rumours,1
+rumpled,2
+run,54
+runaway,1
+running,46
+runs,8
+ruptured,1
+rural,1
+rush,18
+rushed,15
+rushes,2
+rushing,17
+russian,4
+rust,5
+rustiness,1
+rustle,1
+rustles,1
+rustling,1
+rustlings,1
+rusty,3
+ruthless,3
+s,5
+s'pose,1
+sabbath,4
+sabbee,4
+sable,4
+sachem,1
+sack,1
+saco,1
+sacramental,1
+sacred,10
+sacredness,1
+sacrifice,2
+sacrificial,2
+sacrilegious,1
+sad,9
+sadder,2
+saddest,4
+saddle,1
+sadly,12
+sadness,2
+safe,6
+safely,5
+safety,7
+sag,8
+sagacious,6
+sagaciously,2
+sagacity,1
+sage,2
+sagged,1
+sagittarius,2
+sahara,1
+said,304
+sail,102
+sailed,38
+sailer,1
+sailing,34
+sailings,1
+sailmakers,1
+sailor,81
+sailors,52
+sails,44
+saint,3
+saints,1
+saith,5
+sake,19
+sal,3
+salad,1
+saladin,1
+salamander,1
+salamed,1
+salem,1
+saline,1
+salisbury,2
+sallied,5
+sallies,1
+sallow,1
+sally,2
+salmon,1
+salt,13
+saltcellar,1
+salted,6
+salts,1
+salutation,3
+salutations,2
+salute,1
+saluted,2
+salutes,1
+salvation,5
+sam,2
+same,215
+sammy,2
+samphire,1
+samson,1
+samuel,11
+sanctified,2
+sanctity,2
+sanctorum,1
+sanctuary,1
+sanctum,1
+sand,11
+sandpaper,1
+sands,3
+sandwich,2
+sane,2
+sanely,2
+sang,1
+sanguinary,1
+sanity,3
+sank,15
+santa,2
+sap,3
+sapling,2
+saplings,1
+saratoga,2
+sarmon,1
+sartain,1
+sartainty,1
+sartin,1
+sash,1
+sashes,2
+sashless,1
+sat,45
+satan,3
+satanic,1
+sated,1
+satiety,1
+satin,3
+satins,1
+satirical,1
+satirizing,1
+satisfaction,4
+satisfactorily,1
+satisfactory,3
+satisfied,5
+satisfy,3
+saturday,5
+saturn,2
+sauce,2
+saucers,1
+saul,1
+sauntering,4
+savage,55
+savageness,1
+savagery,1
+savages,10
+savannas,1
+save,15
+saved,6
+savesoul,2
+saving,1
+savor,4
+savory,2
+savoury,1
+saw,113
+saw'st,3
+sawed,1
+sawn,1
+saws,2
+saxon,2
+say,242
+say'st,2
+sayest,2
+saying,40
+says,46
+sayst,1
+scabbards,1
+scalding,4
+scale,3
+scaled,1
+scales,6
+scalloped,1
+scalp,1
+scalping,1
+scamp,1
+scan,2
+scandinavian,2
+scanned,1
+scanning,3
+scant,1
+scar,4
+scaramouch,2
+scarce,12
+scarcely,9
+scarcity,1
+scare,3
+scared,2
+scarf,1
+scarfing,1
+scarred,1
+scarry,1
+scars,1
+scatter,3
+scattered,10
+scene,28
+scenery,2
+scenes,11
+scent,1
+scented,1
+scentless,1
+sceptical,2
+scepticism,2
+sceptre,1
+scheme,3
+scheming,1
+schmerenburgh,1
+scholar,2
+scholars,2
+school,10
+schoolboys,2
+schoolmaster,6
+schoolmasters,2
+schools,8
+schooner,5
+schooners,1
+schouten,1
+science,6
+sciences,3
+scientific,16
+scimetar,1
+scimetars,1
+scolding,4
+scolds,1
+scolloped,1
+sconces,1
+scooped,1
+scoot,1
+scorbutic,1
+scorch,2
+scorched,6
+scorches,1
+scorching,4
+scorchingly,1
+score,9
+scores,4
+scoresby,10
+scoria,1
+scorn,5
+scornest,1
+scornful,3
+scornfully,1
+scorning,1
+scorpio,1
+scorpion,1
+scotch,3
+scotland,1
+scougin,1
+scoundrel,1
+scoured,2
+scout,1
+scouts,1
+scowl,2
+scowled,1
+scrabble,1
+scragg,1
+scraggy,1
+scramble,1
+scrambled,1
+scrape,6
+scraped,3
+scraping,5
+scrapings,1
+scraps,4
+scratch,1
+scratched,1
+scratches,2
+scratching,2
+scrawl,1
+scream,1
+screamed,1
+screaming,6
+screams,1
+screen,1
+screw,7
+screwed,8
+screwing,3
+screws,3
+scrimps,1
+scriptural,1
+scripture,1
+scriptures,2
+scroll,2
+scrolled,2
+scrolls,1
+scrouge,1
+scrubbed,1
+scruples,1
+scrupulous,1
+scrupulously,1
+scrutinized,1
+scrutinizing,1
+scrutiny,1
+scud,6
+scuffling,1
+sculpture,3
+sculptured,3
+sculptures,2
+scupper,1
+scuppers,1
+scuttle,24
+scuttling,1
+scythes,3
+sea,455
+seal,6
+sealine,1
+seals,8
+seam,3
+seaman,13
+seamen,43
+seamless,1
+seams,7
+seaport,3
+search,8
+searches,1
+searching,2
+searchingly,1
+seas,87
+season,15
+seasoned,3
+seasoning,1
+seasons,8
+seat,19
+seated,27
+seating,2
+seats,2
+seaward,2
+seaweed,1
+sebastian,9
+sebond,1
+secluded,2
+secludedness,1
+seclusion,2
+second,61
+secondly,3
+seconds,1
+secrecy,2
+secret,24
+secretary,1
+secreted,1
+secretly,2
+secrets,6
+sect,2
+section,8
+sections,1
+secure,13
+secured,15
+securely,3
+securing,8
+securities,2
+security,3
+sed,1
+sedentary,1
+seducing,1
+seductive,2
+see,272
+see'st,3
+seed,2
+seeing,37
+seek,15
+seekest,1
+seeking,12
+seeks,6
+seem,84
+seem'st,1
+seemed,283
+seeming,8
+seemingly,9
+seemly,1
+seems,87
+seen,165
+seer,2
+sees,4
+seethe,3
+seethed,1
+seething,2
+seethingly,1
+seethings,2
+seeva,1
+segment,2
+seignories,1
+seize,8
+seized,18
+seizing,14
+seizings,2
+seizure,1
+seldom,25
+select,1
+selected,3
+selectest,1
+selecting,3
+selection,3
+self,25
+sell,8
+sellin,1
+selling,2
+sells,2
+selves,1
+semblance,2
+semi,5
+semicircle,2
+semicircular,3
+seminal,1
+semiramis,1
+semiweekly,1
+senate,2
+senators,1
+send,15
+sending,9
+sends,1
+seneca,1
+senior,2
+seniors,1
+senor,3
+sensation,3
+sensations,2
+sense,14
+senseless,1
+senses,2
+sensible,9
+sensibly,1
+sensitive,1
+sent,17
+sentence,3
+sentences,2
+sentiment,2
+sentimental,2
+sentimentalist,1
+sentimentally,1
+sentinelled,1
+sentinels,1
+sentry,3
+separable,1
+separate,20
+separated,6
+separately,7
+separating,3
+sepulchral,2
+sepulchre,2
+sequel,3
+sequential,1
+serene,8
+serenely,4
+sereneness,1
+serenest,1
+serenity,6
+serfs,1
+series,4
+serious,10
+seriously,3
+sermon,4
+sermonizings,1
+serpent,4
+serpentine,1
+serpentines,1
+serpents,4
+serried,1
+servants,1
+serve,6
+served,10
+serves,2
+service,12
+servile,1
+serving,2
+set,85
+seth,1
+sets,4
+settee,1
+settees,1
+setting,13
+settle,8
+settled,12
+settlement,1
+settlements,1
+settlers,1
+settling,3
+seven,16
+seventeenth,1
+seventh,9
+seventy,22
+several,48
+severe,5
+severed,2
+severest,4
+severs,1
+sewing,1
+sex,1
+sexes,1
+seychelle,1
+shabbiest,1
+shabbily,1
+shabby,3
+shad,2
+shade,7
+shaded,3
+shades,6
+shadiest,1
+shading,1
+shadings,1
+shadow,15
+shadowed,2
+shadows,15
+shadowy,1
+shadrach,1
+shady,1
+shaft,3
+shafts,1
+shagginess,1
+shaggy,7
+shake,16
+shaken,4
+shaker,1
+shakers,2
+shakes,5
+shakespeare,1
+shaking,9
+shall,99
+shallop,1
+shallow,4
+shallowest,1
+shallows,1
+shalt,3
+shamble,1
+shambling,1
+shame,7
+shameful,2
+shan't,2
+shank,3
+shape,17
+shaped,8
+shapes,4
+shaping,2
+share,5
+shared,3
+shares,3
+sharing,4
+shark,30
+sharked,1
+sharkish,3
+sharks,51
+sharp,42
+sharpen,2
+sharpened,1
+sharpening,2
+sharper,4
+sharpest,1
+sharply,3
+sharppointed,1
+shaster,2
+shattered,6
+shave,1
+shaved,2
+shavings,7
+she,120
+sheaf,1
+shearing,1
+shears,3
+sheath,4
+sheathed,1
+sheathing,1
+sheaths,1
+sheaved,2
+sheaves,3
+shed,4
+sheds,1
+sheep,5
+sheepfold,2
+sheepishly,1
+sheer,3
+sheered,1
+sheering,1
+sheet,8
+sheeted,3
+sheets,10
+sheffield,1
+shelf,5
+shell,4
+shells,4
+sheltered,1
+shelves,1
+shem,1
+shepherd,2
+sherbet,1
+sherry,1
+shetland,2
+shield,1
+shields,1
+shift,2
+shifted,5
+shifting,4
+shiftings,1
+shilling,1
+shinbone,1
+shinbones,2
+shindy,1
+shine,3
+shines,1
+shingled,1
+shining,2
+shiningly,1
+ship,518
+shipkeepers,1
+shipmate,12
+shipmates,28
+shipped,12
+shipping,6
+ships,87
+shipwreck,2
+shipwrecked,3
+shipwrecks,1
+shipyards,1
+shirr,4
+shirt,9
+shirts,2
+shiver,5
+shivered,6
+shivering,7
+shiverings,1
+shivers,1
+shoal,8
+shoaling,1
+shoals,8
+shock,15
+shocked,1
+shocking,3
+shocks,2
+shod,1
+shoe,7
+shoeless,1
+shoemaker,1
+shoes,7
+shone,3
+shook,13
+shooks,1
+shoot,5
+shooting,8
+shoots,4
+shop,4
+shops,1
+shore,25
+shored,1
+shoreless,2
+shores,7
+short,60
+shortened,2
+shortest,1
+shortly,10
+shortness,1
+shot,37
+should,184
+should'st,1
+shoulder,12
+shouldered,2
+shouldering,1
+shoulders,13
+shout,4
+shouted,17
+shouting,5
+shouts,2
+shove,1
+shoved,2
+shovel,3
+shovels,1
+shoving,1
+show,32
+showed,16
+shower,5
+showers,3
+showest,1
+showing,5
+shown,6
+shows,7
+shreds,6
+shrewdness,1
+shriek,2
+shrieked,2
+shrieking,3
+shrieks,6
+shrill,1
+shrine,2
+shrines,1
+shrink,2
+shrinked,1
+shrinking,2
+shrivel,1
+shrivelled,2
+shroud,10
+shrouded,7
+shrouds,8
+shrubs,1
+shrunk,1
+shrunken,1
+shudder,6
+shuddered,3
+shuddering,9
+shudderingly,1
+shudderings,2
+shuffle,1
+shuffling,2
+shun,3
+shunned,2
+shunning,1
+shut,12
+shuts,1
+shutter,1
+shutters,1
+shuttle,6
+shuttlecock,1
+shy,1
+shyness,1
+si,1
+siam,2
+siamese,3
+sibbald,3
+siberia,2
+siberian,1
+sich,1
+sicilian,3
+sick,10
+sickle,2
+sickness,2
+side,208
+sideboard,3
+sided,2
+sidelingly,1
+sidelong,7
+sides,28
+sideway,1
+sideways,29
+siding,1
+sieve,2
+sigh,1
+sighed,2
+sighs,2
+sight,105
+sighted,3
+sighting,1
+sights,12
+sign,36
+signal,7
+signals,3
+signed,5
+signers,1
+significance,6
+significant,11
+significantly,4
+signification,1
+signifies,2
+signifying,1
+signing,3
+signs,15
+sikoke,1
+silence,19
+silenced,1
+silences,1
+silent,26
+silently,15
+silk,2
+silken,3
+silks,1
+sill,2
+silly,5
+silver,13
+silvery,6
+simeon,1
+similar,25
+similarly,2
+similes,1
+similitude,3
+simoon,1
+simple,11
+simplest,1
+simplicity,1
+simply,10
+simultaneous,1
+simultaneously,14
+simultaneousness,2
+sin,8
+since,65
+sincerity,2
+sinecure,1
+sinecures,1
+sinew,1
+sinewing,1
+sinews,3
+sinful,3
+sing,22
+singed,1
+singing,12
+single,39
+sings,3
+singular,9
+singularly,4
+sinister,2
+sink,22
+sinker,1
+sinking,13
+sinks,1
+sinned,1
+sinner,1
+sinners,4
+sinning,1
+sipping,1
+sir,175
+sire,4
+sires,2
+sirs,1
+siskur,1
+sister,6
+sisterly,1
+sit,16
+site,6
+sites,1
+sits,5
+sitteth,1
+sittin,1
+sitting,22
+situated,1
+situation,5
+six,31
+sixpence,1
+sixteen,7
+sixteenth,1
+sixth,2
+sixty,17
+size,12
+sized,7
+sizes,2
+skeleton,34
+skeletons,5
+skelter,2
+sketches,2
+sketching,1
+skewer,3
+skewered,1
+skewers,1
+skies,10
+skiff,2
+skilful,2
+skilfully,3
+skill,10
+skimming,1
+skin,37
+skins,1
+skip,1
+skipper,2
+skippers,1
+skirra,2
+skirted,2
+skirting,1
+skirts,4
+skittishly,1
+skrimmage,1
+skrimshander,3
+skrimshandering,1
+skulking,1
+skulks,1
+skull,25
+skulled,1
+skulls,6
+sky,36
+skylarking,3
+skysail,1
+slabs,5
+slack,4
+slacked,2
+slacken,1
+slackened,6
+slacking,1
+slain,12
+slamming,1
+slanderin,1
+slanderous,1
+slanting,4
+slantingly,2
+slantings,1
+slap,2
+slapped,1
+slappin,3
+slapping,1
+slash,1
+slashing,2
+slate,2
+slats,1
+slatternly,1
+slaughter,1
+slaughtered,2
+slaughtering,1
+slave,11
+slavery,1
+slaves,2
+slavish,2
+slay,4
+sled,1
+sledge,3
+sleek,2
+sleep,46
+sleepe,1
+sleeper,9
+sleepers,6
+sleepiest,1
+sleeping,22
+sleepless,2
+sleeplessness,1
+sleeps,7
+sleepy,8
+sleet,15
+sleeves,5
+sleight,1
+sleights,1
+slender,6
+slept,4
+slew,2
+slewed,2
+slewing,1
+slews,1
+slice,1
+slices,2
+slicings,1
+slid,16
+slide,10
+slided,1
+slides,3
+sliding,10
+slight,8
+slighter,2
+slightest,20
+slightly,13
+slights,1
+slily,2
+slim,1
+slime,2
+sling,2
+slink,1
+slip,4
+slipped,8
+slippered,1
+slipperiness,1
+slippering,1
+slippery,6
+slipping,5
+slips,2
+slipt,1
+slit,3
+slits,1
+slobgollion,1
+slogan,1
+sloop,4
+slope,3
+sloped,1
+slopes,2
+sloping,3
+slopingly,1
+slouched,8
+slouching,2
+slow,12
+slower,1
+slowly,52
+slowness,1
+sluggish,2
+sluggishly,1
+slumber,3
+slumberers,1
+slumbering,3
+slumbers,3
+slung,1
+slunk,1
+sly,1
+smack,2
+smackin,1
+smacking,3
+smackingly,1
+smacks,1
+small,130
+smaller,11
+smallest,10
+smallness,1
+smart,2
+smeer,2
+smeerenberg,1
+smell,11
+smelling,3
+smells,12
+smelt,3
+smile,5
+smiled,1
+smiling,2
+smite,2
+smites,1
+smith,1
+smithfield,1
+smithies,1
+smiting,6
+smitten,7
+smoke,30
+smoked,5
+smoker,1
+smokers,1
+smoking,19
+smoky,3
+smooth,9
+smoothe,3
+smoothed,1
+smote,5
+smothered,2
+smothering,1
+smuggled,1
+smugglers,1
+smuggling,1
+smut,2
+snake,2
+snakes,1
+snaky,2
+snap,8
+snapped,8
+snapping,4
+snaps,1
+snare,1
+snarles,1
+snarls,1
+snatch,4
+snatched,5
+snatches,3
+snatching,9
+sneak,1
+sneaking,1
+sneaks,1
+sneering,1
+sneezes,8
+sneezing,2
+snodhead,3
+snooze,1
+snoozing,1
+snore,1
+snored,1
+snoring,1
+snort,1
+snorting,2
+snortings,1
+snorts,1
+snow,30
+snowhowdahed,1
+snows,2
+snowy,8
+snuff,1
+snuffed,5
+snuffers,1
+snuffing,3
+snuffling,1
+snug,5
+snugly,4
+snugness,3
+so,1066
+soak,1
+soaked,3
+soap,2
+soapstone,3
+soar,2
+soars,1
+sob,3
+sobbing,2
+sobbings,1
+sober,7
+soberly,1
+sobriety,1
+sociable,4
+sociably,2
+social,12
+socially,2
+societies,1
+society,9
+socket,7
+sockets,2
+socks,4
+socratic,1
+sod,1
+sodom,1
+soever,1
+sofa,2
+sofas,2
+soft,31
+soften,1
+softener,1
+softest,1
+softly,11
+softness,1
+sog,1
+sogger,1
+soggy,1
+soil,10
+soils,1
+sojourning,1
+solace,3
+solaces,1
+soladoes,1
+solander,2
+solar,2
+sold,3
+soldier,1
+soldiers,3
+sole,9
+solecism,1
+solely,6
+solemn,12
+solemnity,2
+solemnly,8
+soles,1
+solicit,2
+solicitation,1
+solicited,1
+solicitously,1
+solicitude,2
+solicitudes,1
+solid,17
+soliloquized,4
+soliloquizer,1
+soliloquizes,1
+soliloquizing,1
+solitaries,2
+solitary,19
+solitude,3
+solitudes,2
+solo,1
+soloma,1
+solomon,8
+solus,1
+solve,3
+solved,2
+some,619
+somebody,5
+somehow,44
+somerset,2
+something,123
+sometimes,87
+somewhat,27
+somewhere,24
+somnambulisms,1
+somnambulistic,1
+son,20
+song,8
+songs,1
+songster,1
+sonorous,1
+sons,6
+soon,130
+sooner,13
+soonest,1
+soot,3
+sooth,1
+soothed,4
+soothes,1
+soothing,3
+soothingly,1
+sooty,3
+sorcery,1
+sordid,1
+sordidness,1
+sore,3
+sorely,2
+sorrow,5
+sorrowful,1
+sorrows,2
+sorry,6
+sort,152
+sorter,1
+sorts,19
+sou,2
+sought,18
+soul,83
+soulless,1
+souls,22
+sound,41
+sounded,8
+soundest,2
+sounding,14
+soundings,6
+sounds,12
+source,5
+sourceless,1
+soused,1
+south,29
+southerly,2
+southern,12
+southerner,1
+southward,1
+southwards,1
+sovereign,4
+sovereignest,1
+sow,3
+sown,1
+space,15
+spaces,5
+spacious,2
+spaciousness,1
+spade,20
+spademan,1
+spades,10
+spain,5
+spake,3
+span,1
+spangled,2
+spangling,1
+spaniard,3
+spaniards,2
+spanish,12
+spanishly,1
+spanned,1
+spans,3
+spar,9
+spare,21
+sparing,2
+spark,1
+sparkling,9
+sparks,2
+spars,12
+spasmodic,3
+spasmodically,4
+spat,3
+spavined,1
+spawned,1
+speak,52
+speaker,1
+speakest,2
+speaking,23
+speaks,4
+spear,10
+spearings,1
+spears,8
+special,16
+specialities,1
+specially,8
+specialties,1
+species,31
+specific,9
+specifically,1
+specified,2
+specimen,5
+specimens,3
+speckled,1
+specksioneer,1
+specksnyder,3
+spectacle,7
+spectacles,4
+spectral,1
+spectrally,1
+spectralness,1
+spectre,1
+speculations,2
+speculative,1
+sped,3
+speech,4
+speechless,6
+speechlessly,1
+speed,12
+speediest,1
+speeding,1
+speedy,5
+spell,11
+spelling,1
+spells,1
+spencer,1
+spend,9
+spending,6
+spent,9
+sperm,244
+sperma,3
+spermaceti,19
+spermacetti,3
+spermy,1
+sphere,2
+spheres,1
+spherical,1
+sphinx,1
+sphynx,2
+spice,1
+spiced,2
+spices,2
+spicin,1
+spicy,1
+spied,1
+spies,1
+spigot,1
+spike,3
+spiked,1
+spikes,4
+spile,2
+spiles,1
+spill,1
+spilled,8
+spilling,2
+spin,3
+spinal,8
+spindle,1
+spindled,1
+spindles,1
+spine,17
+spines,1
+spinning,4
+spinoza,1
+spins,1
+spiracle,7
+spiracles,1
+spiral,1
+spiralise,1
+spiralizations,1
+spiralized,1
+spiralizes,1
+spiralizing,1
+spiralling,2
+spirally,1
+spire,3
+spires,6
+spirit,18
+spirits,10
+spiritual,11
+spiritually,1
+spit,2
+spite,18
+spitzbergen,5
+splash,2
+splashed,1
+splashing,1
+spleen,1
+splendors,1
+splice,7
+spliced,1
+splinter,2
+splintered,7
+splintering,1
+splinters,5
+split,14
+splits,1
+spluttering,1
+spoil,4
+spoiled,4
+spoiling,1
+spoils,1
+spoke,15
+spoken,13
+spokes,3
+spontaneous,1
+spontaneously,1
+spool,2
+spoons,2
+sport,3
+sported,1
+sporting,4
+sportively,1
+sports,1
+sportsman,1
+sporty,3
+spos,1
+spose,2
+spot,23
+spotless,2
+spotlessness,1
+spots,3
+spotted,4
+spout,60
+spouted,6
+spouter,7
+spouters,1
+spoutholes,1
+spouting,12
+spoutings,7
+spouts,16
+sprain,1
+sprained,3
+spraining,1
+sprains,1
+sprang,13
+sprat,1
+sprawling,1
+spray,16
+spread,26
+spreading,2
+spreads,1
+spring,35
+springing,5
+springs,3
+springy,1
+sprinkled,4
+sprinkling,2
+sprinklings,1
+sprout,2
+sprouts,1
+sprung,5
+spurn,1
+spurned,2
+spurred,1
+spurrings,1
+spurs,2
+spurzheim,1
+spy,2
+spying,2
+squadrons,1
+squall,20
+squalls,5
+squally,1
+square,14
+squared,2
+squares,8
+squaring,3
+squash,1
+squatted,1
+squatting,1
+squattings,1
+squaw,2
+squeeze,9
+squeezed,2
+squeezing,4
+squid,7
+squilgee,1
+squint,2
+squire,3
+squires,2
+squitchy,1
+st,25
+stab,3
+stabbed,1
+stabbing,3
+stabs,1
+stacked,2
+stacking,1
+stacks,2
+staff,7
+stage,10
+stages,4
+stagger,4
+staggered,3
+staggering,2
+staggeringly,1
+staggers,2
+stagnant,1
+staid,2
+stained,4
+stains,2
+stair,1
+stairs,10
+stake,2
+stakes,1
+stalk,3
+stalked,2
+stalking,1
+stall,1
+stalls,1
+stalwart,1
+stammer,1
+stammering,1
+stamp,3
+stamped,4
+stampedoes,1
+stamping,1
+stampings,1
+stand,107
+standard,3
+stander,1
+standers,5
+standest,1
+standing,82
+standpoint,1
+stands,29
+stanzas,1
+staple,2
+star,5
+starboard,17
+starbuck,198
+stare,3
+stared,1
+staring,6
+stark,9
+starlight,2
+starred,1
+starry,3
+stars,13
+start,37
+started,27
+starting,11
+startled,7
+startling,3
+startlingly,1
+starts,4
+starvation,2
+starve,1
+starved,1
+stash,3
+state,34
+stated,4
+stateliest,1
+stately,5
+statement,4
+statements,5
+states,21
+stating,3
+station,2
+stationary,4
+statistical,1
+statistically,1
+statistics,1
+statue,3
+statues,1
+stature,2
+status,4
+statutory,1
+staunch,1
+stave,9
+staved,1
+staves,3
+staving,2
+stay,13
+stayed,7
+staying,1
+stays,4
+stead,1
+steadfast,4
+steadfastly,6
+steadied,1
+steadily,11
+steady,29
+steadying,1
+steak,15
+steaks,1
+steal,2
+stealing,3
+steals,2
+stealthily,1
+steam,6
+steamer,3
+steed,7
+steeds,1
+steel,33
+steelkilt,40
+steep,5
+steeped,1
+steeple,1
+steeply,2
+steer,9
+steered,8
+steerer,2
+steering,13
+steers,2
+steersman,7
+stem,4
+stems,1
+step,22
+stepmother,2
+stepmothers,1
+stepped,8
+stepping,7
+steps,6
+stereotype,1
+stern,54
+sterned,1
+sterning,2
+sternly,1
+sterns,2
+sternward,1
+steward,18
+stick,7
+sticking,6
+sticks,4
+stiff,9
+stiffen,1
+stiffening,1
+stiffest,2
+stiffly,4
+stifle,1
+stifled,1
+stifling,1
+stig,1
+stiggs,2
+stigma,1
+stiletto,1
+still,312
+stillness,3
+stilly,2
+stilts,1
+sting,2
+stings,1
+stingy,1
+stir,4
+stirred,5
+stirring,4
+stirrings,1
+stirs,4
+stitch,1
+stiver,1
+stock,10
+stockinged,1
+stocks,4
+stoic,1
+stoics,1
+stokers,1
+stole,6
+stolen,3
+stolidity,3
+stolidly,1
+stomach,6
+stomachs,1
+stone,19
+stoneless,1
+stones,3
+stood,90
+stool,4
+stooped,5
+stooping,5
+stoopingly,1
+stop,33
+stopped,8
+stopping,9
+storage,1
+store,4
+stored,1
+stores,2
+storied,4
+stories,7
+storm,32
+stormed,1
+storms,8
+stormy,3
+story,49
+stout,13
+stoutest,2
+stoutly,2
+stove,22
+stoven,2
+stowage,1
+stowaways,1
+stowe,1
+stowed,3
+stowing,2
+straddling,1
+strafford,1
+straggling,1
+straight,46
+straightened,5
+straightway,13
+strain,12
+strained,9
+straining,7
+strainings,2
+strains,1
+strait,3
+straits,16
+strand,3
+stranded,12
+strandings,1
+strands,2
+strange,98
+strangely,29
+strangeness,3
+stranger,48
+strangers,7
+strangest,4
+straps,4
+strata,2
+stratagem,1
+straw,2
+strawberries,1
+stray,2
+strays,1
+streaked,2
+streaks,1
+stream,11
+streamed,3
+streamers,1
+streaming,2
+streams,4
+street,13
+streets,15
+strello,1
+strength,24
+strenuous,1
+stress,1
+stretch,7
+stretched,10
+stretching,6
+strewn,2
+stricken,16
+strict,5
+strictest,2
+strictly,7
+stride,1
+strides,2
+striding,4
+strife,2
+strike,32
+strikes,5
+striking,24
+strikingly,1
+string,7
+strings,1
+stringy,1
+strip,10
+stripped,11
+stripping,2
+strips,2
+stript,3
+strive,1
+striven,1
+strives,2
+strivest,1
+striving,10
+stroke,16
+strokes,2
+stroll,4
+strolled,1
+strong,36
+stronger,4
+strongest,5
+stronghold,1
+strongly,11
+strove,8
+struck,49
+structural,1
+structure,7
+structures,1
+struggle,2
+struggled,1
+struggles,1
+struggling,5
+strung,2
+strutting,1
+stubb,257
+stubbing,1
+stubble,1
+stubborn,5
+stubbornest,1
+stubbornly,2
+stubbornness,1
+stubbs,3
+stuck,9
+studded,3
+student,2
+students,1
+studied,2
+studies,1
+studious,1
+studs,1
+study,7
+studying,4
+stuff,19
+stuffed,5
+stultifying,1
+stumble,2
+stumbled,1
+stumbling,1
+stump,12
+stumped,2
+stumps,2
+stun,4
+stun'sails,1
+stung,2
+stunning,1
+stunsail,3
+stunsails,2
+stupid,1
+stupidly,1
+stupor,1
+sturgeon,3
+style,5
+styled,2
+stylites,1
+sub,7
+subaltern,2
+subalterns,1
+subdivide,1
+subdivided,1
+subdivisible,1
+subdivisions,1
+subdued,3
+subject,21
+subjected,2
+subjects,6
+sublime,8
+sublimer,1
+sublimity,2
+submarine,1
+submerged,8
+submission,1
+submits,1
+submitted,1
+subordinate,3
+subordinately,1
+subordinates,1
+subs,1
+subscribe,1
+subscribes,1
+subsequent,13
+subsequently,4
+subserve,1
+subservient,1
+subsided,5
+subsiding,2
+subsists,1
+substance,31
+substances,2
+substantial,3
+substantiate,1
+substantiated,3
+substantiates,1
+substantive,1
+substitute,3
+substituted,2
+substituting,2
+subterranean,6
+subterraneous,3
+subterraneousness,1
+subtile,3
+subtilize,1
+subtilty,1
+subtle,11
+subtleness,1
+subtler,1
+subtlest,2
+subtleties,1
+subtlety,2
+subtly,1
+subtract,1
+suburban,1
+suburbs,1
+succeed,4
+succeeded,9
+succeeding,1
+succeeds,1
+success,5
+successful,5
+successfully,4
+succession,4
+successive,5
+successively,1
+succor,3
+succourless,1
+such,376
+suck,1
+sucked,4
+sucking,6
+suckingly,1
+suckled,1
+suckling,2
+sucklings,1
+suction,1
+sudden,43
+suddenly,50
+suddenness,1
+suds,1
+sued,1
+sufferable,4
+suffered,1
+suffering,5
+sufferings,1
+suffice,2
+sufficient,5
+sufficiently,9
+sufficit,1
+suffocated,1
+suffused,1
+suffusing,2
+suffusingly,1
+sugary,1
+suggest,1
+suggested,2
+suggestions,2
+suggestively,1
+suggestiveness,1
+suicide,1
+suicides,1
+suit,7
+suitable,1
+sulk,3
+sulkies,1
+sulks,1
+sulky,4
+sullen,6
+sullenly,5
+sulphur,4
+sulphurous,1
+sultan,2
+sultanically,1
+sultanism,2
+sultry,3
+sum,9
+sumatra,6
+summary,3
+summer,16
+summers,2
+summit,10
+summits,1
+summoned,4
+summoning,2
+summons,1
+sun,102
+sunbeam,1
+sunda,6
+sunday,7
+sundering,2
+sundry,3
+sung,2
+sunk,7
+sunken,6
+sunlight,6
+sunniest,1
+sunny,5
+sunrise,11
+suns,3
+sunset,9
+sunsets,1
+sunshine,1
+sunwards,3
+sup,1
+superadd,1
+superb,3
+superficial,2
+superficially,1
+superfluous,3
+superfluousness,1
+superhuman,1
+superincumbent,1
+superinduced,1
+superior,15
+superiority,6
+superiors,1
+superlative,2
+superlatively,2
+supernal,1
+supernatural,7
+supernaturalism,1
+supernaturally,1
+supernaturalness,1
+superseded,1
+superstition,4
+superstitions,5
+superstitious,10
+superstitiously,2
+superstitiousness,2
+supervision,1
+supine,1
+supper,29
+supper'll,1
+supperless,1
+supplants,1
+supplemental,2
+supplementary,4
+supplicating,1
+supplication,1
+supplied,12
+supplies,3
+supply,7
+supplying,2
+support,5
+supported,2
+suppose,37
+supposed,15
+supposes,1
+supposing,5
+supposition,4
+suppress,1
+suppressed,1
+suppression,2
+supremacy,3
+supreme,4
+surcoat,1
+sure,46
+surely,7
+surest,1
+surf,5
+surface,42
+surgeon,9
+surgeons,2
+surges,1
+surging,3
+surly,1
+surmise,3
+surmised,2
+surmises,3
+surmisings,2
+surpass,1
+surpassed,1
+surpasses,3
+surpassingly,1
+surplus,2
+surprise,10
+surprised,5
+surprising,7
+surrender,5
+surrenderest,1
+surround,2
+surrounded,8
+surrounding,4
+surroundingly,1
+surrounds,2
+surtout,2
+surveillance,1
+survey,2
+surveying,1
+surveyor,1
+survival,1
+survive,6
+survived,3
+survives,1
+surviving,2
+survivors,1
+susan,1
+susceptible,1
+suspect,3
+suspected,5
+suspecting,1
+suspects,3
+suspend,4
+suspended,30
+suspending,3
+suspends,1
+suspense,2
+suspicion,4
+suspicions,5
+suspicious,4
+suspiciously,1
+sustain,2
+sustained,3
+sustaining,2
+sustains,1
+sustenance,1
+sw,1
+swackhammer,1
+swagger,1
+swain,1
+swaine,1
+swaller,1
+swallow,11
+swallowed,13
+swallows,4
+swam,20
+swamp,3
+swamped,1
+swamping,1
+swamps,2
+swap,2
+swarmed,1
+swarming,5
+swart,5
+swarthy,1
+swash,1
+swashing,2
+swathed,1
+swaths,2
+sway,5
+swayed,5
+swaying,6
+swayings,1
+sways,1
+swear,13
+swearing,4
+swears,4
+sweat,3
+sweating,2
+sweatings,2
+swedes,1
+swedish,1
+sweep,13
+sweepers,1
+sweeping,12
+sweeps,1
+sweet,26
+sweetener,1
+sweeter,1
+sweetest,2
+sweethearts,1
+sweetly,2
+sweetness,3
+swell,11
+swelled,6
+swelling,3
+swells,11
+swept,9
+swerve,6
+swerved,1
+swf,1
+swift,24
+swiftest,1
+swiftly,19
+swiftness,6
+swim,21
+swimmer,2
+swimming,30
+swims,8
+swindle,1
+swing,6
+swinging,13
+swings,8
+swiss,1
+switching,2
+swoop,1
+swooped,2
+swooping,2
+sword,25
+swords,2
+swordsman,1
+swore,7
+sworn,3
+swum,1
+swung,20
+sydney,1
+sylla,1
+syllable,2
+sylphs,1
+symbol,12
+symbolically,1
+symbolize,2
+symbolized,1
+symbolizings,1
+symbols,1
+symmetrical,3
+symmetrically,2
+symmetry,1
+sympathetic,2
+sympathetical,1
+sympathetically,1
+sympathies,2
+sympathy,2
+symphony,1
+symptom,2
+symptoms,6
+synod,1
+synonymous,1
+syracuse,1
+syren,2
+syrian,3
+system,12
+systematic,2
+systematically,4
+systematization,1
+systematized,1
+systematizer,1
+systemized,1
+t,8
+t'all,1
+t'gallant,3
+t'other,1
+tabernacle,1
+tabernacles,1
+table,37
+tableau,1
+tablecloth,1
+tables,6
+tablet,3
+tablets,7
+tacit,2
+tack,2
+tackle,11
+tackles,17
+tacks,1
+taffrail,8
+tags,2
+tahitan,1
+tahiti,6
+tahitian,3
+tahitians,1
+tail,80
+tailed,3
+tails,7
+tainted,1
+take,137
+taken,51
+takes,26
+taking,53
+talbot,1
+tale,4
+tales,6
+talisman,1
+talk,25
+talked,5
+talkest,1
+talking,6
+talks,1
+tall,24
+taller,1
+tallest,1
+tallied,2
+tallies,1
+tallow,4
+tally,2
+talons,1
+talus,1
+tambourine,11
+tame,4
+tamely,2
+tamerlane,1
+tanaquil,1
+tandem,2
+tangle,1
+tangled,1
+tangles,2
+tanned,1
+tanning,3
+tantalization,1
+tantalizing,3
+tantamount,2
+tap,5
+tape,1
+tapered,1
+tapering,12
+tapers,6
+tapped,2
+tapping,3
+tar,9
+tarnishing,1
+tarpaulin,2
+tarpaulins,3
+tarquin,2
+tarred,2
+tarried,1
+tars,1
+tarshish,7
+tarsus,1
+tartar,4
+tartarean,1
+tartarian,1
+tarts,1
+tash,5
+tashtego,57
+task,10
+tasks,1
+tasseled,1
+tasselled,2
+tassels,1
+taste,11
+tasted,4
+tastefully,1
+tastes,1
+tastin,1
+tasting,1
+tat,1
+tattered,1
+tatters,2
+tattoo,1
+tattooed,8
+tattooing,6
+tattooings,2
+taught,3
+tauntingly,1
+tauntings,1
+taunts,1
+taurus,2
+tawn,2
+tawny,4
+tax,6
+taxes,1
+te,1
+tea,5
+teach,5
+teaches,3
+teachings,2
+teak,2
+tear,5
+tearin,1
+tearingly,1
+tearless,2
+tearlessness,1
+tears,6
+teats,1
+tech,2
+technical,2
+technically,7
+technicals,1
+tedious,2
+tee,1
+teenth,1
+teeter,1
+teetering,1
+teeth,49
+tekel,1
+telegraph,1
+telescope,3
+tell,135
+tellest,2
+tellin,1
+telling,19
+tells,8
+temper,3
+temperance,2
+temperate,3
+temperature,2
+tempered,4
+tempering,1
+tempest,9
+tempestuous,5
+temple,11
+temples,2
+temporarily,9
+temporary,11
+temptation,1
+tempted,2
+ten,48
+tend,5
+tendency,4
+tender,8
+tenderly,2
+tenderness,1
+tending,3
+tendinous,4
+tendon,1
+tendons,4
+tendrils,1
+tenement,1
+teneriffe,2
+tennessee,1
+tenpin,1
+tens,3
+tensing,1
+tension,3
+tent,5
+tenth,4
+tents,3
+tepid,2
+term,10
+terminating,3
+termination,1
+terms,33
+terra,3
+terraces,2
+terrapin,1
+terraqueous,1
+terrible,22
+terribleness,1
+terribly,1
+terrier,1
+terrific,14
+terrify,3
+territorial,1
+territories,2
+terror,21
+terrorem,1
+terrors,21
+terse,1
+tertiary,4
+test,4
+testament,1
+testaments,1
+tested,1
+tester,2
+testified,2
+testily,1
+testimony,3
+tetering,1
+tethered,1
+texas,2
+texel,2
+text,6
+texture,1
+thames,4
+than,311
+thank,12
+thanked,1
+thankless,1
+thanks,2
+thar,1
+that,3099
+that'll,1
+thawed,1
+the,14620
+theatre,1
+thee,131
+their,620
+theirs,13
+them,474
+theme,3
+themselves,59
+then,630
+thence,7
+thenceforth,1
+theology,2
+theoretic,2
+theory,5
+there,869
+there'll,2
+thereabouts,1
+thereby,18
+therefore,67
+therein,6
+thereof,2
+thereupon,2
+thermes,1
+thermometer,1
+these,406
+thews,2
+they,664
+they'll,3
+they're,2
+they've,1
+thick,27
+thickening,1
+thickens,1
+thicker,1
+thickest,4
+thickets,2
+thickly,5
+thickness,7
+thief,1
+thieves,2
+thigh,8
+thighs,1
+thimbleful,1
+thin,17
+thine,18
+thing,188
+things,134
+think,122
+thinkers,1
+thinkest,1
+thinking,28
+thinkings,2
+thinks,20
+thinned,1
+thinner,1
+thinness,1
+thinnest,2
+third,33
+thirdly,1
+thirds,5
+thirstily,1
+thirteen,2
+thirteenth,1
+thirty,28
+this,1443
+thistle,1
+thistles,1
+thither,10
+tho,2
+thole,1
+thomas,4
+thorkill,1
+thorns,2
+thorough,3
+thoroughfares,2
+thoroughly,2
+those,307
+thou,269
+thou'lt,1
+thou'st,1
+though,384
+thought,150
+thoughted,1
+thoughtful,1
+thoughtfully,1
+thoughtfulness,1
+thoughtless,1
+thoughtlessness,1
+thoughts,34
+thousand,51
+thousands,16
+thousandth,2
+thrasher,3
+thrashing,1
+thread,2
+threadbare,1
+threading,2
+threads,7
+threat,2
+threaten,2
+threatened,4
+threatening,3
+threatens,1
+three,245
+threepence,1
+threes,3
+threshold,4
+threw,10
+thrice,8
+thrill,1
+thrilled,1
+thrilling,2
+thrills,1
+thriving,1
+thro,1
+throat,5
+throats,1
+throb,2
+throbbing,3
+throbbings,1
+throbs,1
+throes,2
+throne,8
+throned,1
+thrones,1
+thronged,1
+throttle,1
+throttled,1
+throttling,1
+through,235
+throughout,11
+throw,14
+throwing,11
+thrown,25
+throws,3
+thrust,17
+thrusted,1
+thrusting,10
+thrusts,3
+thumb,4
+thumbs,1
+thump,5
+thunder,31
+thunderbolts,2
+thundered,1
+thundering,3
+thunderings,1
+thunderous,1
+thunders,3
+thus,134
+thwack,1
+thwart,1
+thy,113
+thyself,24
+tiara,1
+tic,1
+tick,1
+ticking,1
+tickle,1
+tickled,3
+ticklish,3
+ticks,1
+tide,13
+tideless,1
+tides,6
+tidiest,1
+tidiness,1
+tidings,4
+tidy,2
+tie,1
+tied,13
+tier,2
+tierce,5
+tiered,1
+tiers,1
+ties,1
+tiger,11
+tigers,2
+tight,5
+tightened,1
+tightly,3
+tigress,1
+tigris,2
+til,1
+tilbury,1
+tiled,1
+tiles,3
+till,122
+tiller,13
+tilt,1
+tilted,2
+tilting,2
+timber,6
+timberheads,1
+timbers,5
+time,334
+timeliest,1
+timely,3
+times,112
+timid,8
+timidity,4
+timor,2
+timorous,1
+tin,2
+tinder,1
+tindering,1
+tinge,2
+tinges,1
+tingled,1
+tingles,1
+tingling,3
+tink,2
+tinker,3
+tinkering,1
+tinkerings,1
+tinkers,2
+tinkling,2
+tint,1
+tints,2
+tiny,1
+tip,3
+tipped,2
+tipping,1
+tips,1
+tis,26
+tisbury,1
+tish,1
+tissued,1
+tissues,1
+tistig,2
+tit,3
+titanic,1
+titanism,1
+titans,1
+tithe,1
+title,8
+titles,1
+tm,57
+to,4706
+toad,1
+toadstools,1
+toasted,1
+toasting,1
+tobacco,6
+today,1
+toddies,1
+toder,1
+toe,2
+toed,3
+toes,6
+together,64
+togged,1
+togs,1
+toil,12
+toiled,5
+toilet,2
+toilette,1
+toiling,4
+toilings,2
+toils,1
+token,14
+tokens,5
+told,46
+told'st,1
+tolerable,5
+tolerably,2
+tolland,2
+tolling,1
+tom,3
+tomahawk,19
+tomb,6
+tombed,2
+tombs,1
+tombstones,1
+tomorrow,1
+ton,3
+tone,6
+tones,5
+tongatobooarrs,1
+tongs,9
+tongue,11
+tongueless,1
+tongues,3
+tonic,1
+tons,7
+too,185
+took,49
+tooke,1
+tool,1
+tools,4
+tooth,8
+toothache,2
+toothless,1
+toothpick,1
+top,69
+topers,1
+tophet,2
+topic,1
+topmaul,1
+topmost,5
+topple,1
+toppling,1
+tops,4
+topsail,2
+topsails,3
+torch,1
+tore,13
+torment,1
+tormented,14
+tormenting,2
+tormentoto,1
+torments,4
+torn,15
+tornado,1
+tornadoed,1
+tornadoes,3
+torpid,1
+torrent,2
+torrents,2
+torrid,2
+torso,1
+torsoes,1
+tortoise,1
+torture,1
+toss,7
+tossed,31
+tosses,1
+tossing,12
+tossings,2
+tost,1
+total,2
+totalities,1
+totality,1
+totally,2
+touch,30
+touched,13
+touches,2
+touchest,1
+touching,46
+touchy,1
+tough,5
+tougher,1
+toughest,1
+toughness,1
+tow,16
+towards,114
+towed,8
+tower,13
+towering,3
+towers,4
+towing,14
+town,35
+towns,5
+tows,3
+toy,2
+toying,1
+trace,5
+traceable,1
+traced,2
+tracery,1
+traces,2
+tracing,2
+tracings,1
+track,5
+trackless,1
+tracks,1
+tract,1
+tracts,1
+trade,3
+trademark,11
+trades,7
+trading,2
+tradition,1
+traditional,1
+traditions,8
+trafalgar,1
+tragedies,2
+tragedy,3
+tragic,4
+tragically,1
+trail,3
+trailing,3
+train,5
+trained,1
+traitors,3
+traits,2
+tramping,1
+trample,1
+trampled,1
+trampling,3
+trance,5
+tranced,3
+trances,1
+tranque,5
+tranquil,4
+tranquillities,1
+tranquillity,1
+tranquillize,2
+tranquilly,5
+tranquo,5
+trans,1
+transactions,1
+transcend,1
+transcendent,1
+transcendental,1
+transcends,1
+transcribe,2
+transcriber,1
+transcription,1
+transfer,2
+transferred,3
+transferring,1
+transferringly,1
+transfigured,1
+transfix,1
+transfixed,1
+transfixedly,1
+transform,1
+transformed,1
+transient,2
+transit,1
+transition,5
+translated,1
+translation,1
+transom,5
+transparent,8
+transparently,1
+transpire,1
+transpired,1
+transplanted,2
+transpointed,2
+transported,5
+transports,1
+trap,5
+trapped,2
+trappers,2
+trappings,2
+traps,2
+travel,6
+travelled,3
+traveller,9
+travellers,3
+travelling,1
+travels,3
+traverse,1
+tray,1
+treacheries,1
+treacherous,6
+treacherously,2
+treachery,1
+tread,4
+treading,1
+treadle,1
+treasure,2
+treasures,3
+treasuries,1
+treat,3
+treated,7
+treating,1
+treatise,3
+treatment,1
+treats,3
+treble,1
+trebly,1
+tree,21
+trees,14
+trellised,1
+trembles,2
+trembling,5
+tremendous,9
+tremendousness,1
+tremor,1
+tremulous,3
+trencher,1
+trenchers,1
+trending,1
+trepidation,2
+tri,2
+trial,3
+trials,1
+triangles,1
+triangular,4
+triangularly,1
+tribe,9
+tribes,3
+tribulation,1
+tribulations,2
+tribute,3
+trick,5
+tricking,1
+tricks,3
+tried,15
+tries,1
+trifles,2
+trifling,1
+trim,1
+trimmed,1
+trimming,1
+trinity,2
+trio,1
+trip,4
+triply,1
+tripod,1
+triumph,4
+triumphal,2
+triumphant,3
+triumphantly,3
+triumphs,1
+triune,1
+trivial,1
+trod,4
+trodden,1
+troil,1
+trooped,1
+troops,2
+trope,1
+trophies,2
+trophy,2
+tropic,5
+tropical,4
+tropics,4
+trotting,1
+trouble,11
+troubled,15
+troubledly,1
+troublesome,1
+trough,1
+troughs,1
+trover,1
+trowsers,13
+truce,1
+truck,7
+trucks,5
+trudging,1
+true,87
+truer,1
+truest,3
+truly,21
+trump,3
+trumpa,1
+trumpet,7
+trumps,1
+trunk,17
+trunks,2
+trust,4
+trustworthy,2
+truth,36
+truthful,1
+truthfully,1
+truths,1
+try,54
+trying,17
+trysail,1
+tu,1
+tub,14
+tube,6
+tubes,1
+tubs,13
+tucked,3
+tucking,1
+tucks,1
+tudors,1
+tufted,4
+tufts,1
+tug,1
+tugged,1
+tugging,1
+tuileries,3
+tulips,1
+tumble,4
+tumbled,6
+tumblers,1
+tumbling,4
+tumult,3
+tumults,1
+tumultuous,9
+tumultuously,2
+tun,14
+tune,2
+tunes,1
+tunic,1
+tunnel,2
+tunnels,1
+tuns,2
+turban,2
+turbaned,3
+turbid,2
+turbulence,1
+turfed,1
+turk,5
+turkey,1
+turkeys,1
+turkish,6
+turks,4
+turmoil,1
+turn,61
+turned,66
+turning,53
+turnpike,1
+turns,35
+turnstile,1
+turtle,1
+turtles,1
+tusk,2
+tusked,3
+tusks,4
+tut,1
+tutelary,1
+tutored,2
+twain,6
+twas,4
+tweezers,2
+twelfth,1
+twelve,16
+twelvemonth,3
+twenty,34
+twice,13
+twig,3
+twigged,1
+twigging,1
+twigs,1
+twilight,5
+twilights,1
+twill,2
+twin,6
+twine,6
+twinkling,1
+twins,2
+twisk,1
+twiske,1
+twist,3
+twisted,9
+twisting,4
+twists,1
+twitch,2
+twitched,3
+twitching,1
+two,298
+twopence,1
+twos,3
+tyerman,1
+tying,3
+type,1
+types,1
+typhoon,8
+typhoons,3
+typifies,1
+tyrannical,1
+tyrant,1
+tyre,1
+tyro,2
+tyros,1
+u,1
+ubiquitous,2
+ubiquity,1
+ugliest,1
+ugly,4
+ulceration,1
+ulcerous,1
+ulloa,1
+ultimate,7
+ultimately,2
+ultimatum,1
+um,12
+umbilical,1
+umbrella,3
+umbrellas,1
+unabated,3
+unaccompanied,2
+unaccountable,16
+unaccountably,2
+unaccounted,1
+unaccustomed,1
+unachieved,1
+unaided,1
+unalloyed,1
+unalterable,4
+unanswerable,1
+unappalled,2
+unapparent,1
+unappeasable,1
+unappeasedly,1
+unapprehensive,1
+unappropriated,1
+unassailable,1
+unassuming,1
+unassured,1
+unastonished,1
+unattended,3
+unavoidable,2
+unavoidably,1
+unawares,1
+unawed,1
+unbecomingness,1
+unbegotten,1
+unbegun,1
+unbelief,1
+unbent,1
+unbiased,1
+unbidden,2
+unbiddenly,1
+unblinkingly,1
+unbodied,1
+unborn,1
+unborrowed,1
+unbounded,2
+unbroken,3
+unbuckling,1
+unbutton,1
+uncanonical,1
+uncapturable,1
+uncatastrophied,1
+unceasing,2
+unceasingly,3
+unceremoniously,1
+uncertain,10
+unchallenged,1
+unchangeable,1
+unchanged,1
+unchanging,2
+uncharted,1
+uncheered,1
+unchristian,1
+uncivilized,3
+unclad,2
+uncle,2
+uncleanliness,1
+unclouded,1
+uncomfortable,3
+uncomfortableness,1
+uncommon,16
+uncommonly,7
+uncompleted,1
+uncompromised,2
+uncompromisedness,1
+unconcluded,1
+unconditional,5
+unconditionally,1
+unconquerable,4
+unconquering,1
+unconscious,6
+unconsciously,7
+unconsciousness,1
+unconsumed,1
+uncontaminated,1
+uncontinented,1
+uncorking,1
+uncounted,3
+uncouth,1
+uncouthness,1
+uncracked,1
+unctuous,7
+unctuousness,4
+undashed,1
+undaunted,2
+undecayed,1
+undecided,1
+undecipherable,1
+undecreasing,1
+undefiled,1
+undeliverable,1
+undeniable,2
+under,126
+undergraduate,1
+underground,1
+underived,1
+underling,1
+underlings,1
+underneath,3
+understand,18
+understanding,4
+understandings,1
+understood,2
+undertake,1
+undertaken,2
+undertaker,1
+undervalue,1
+underwent,1
+underwriter,1
+undetached,1
+undetected,1
+undeterred,1
+undeveloped,2
+undeviating,5
+undigested,1
+undignified,1
+undiluted,1
+undiscernible,2
+undiscoverable,1
+undiscovered,2
+undiscriminating,1
+undisputed,2
+undivided,1
+undone,2
+undoubted,2
+undoubtedly,1
+undraped,1
+undress,1
+undressed,3
+undressing,1
+undue,1
+undulated,3
+undulates,2
+undulating,3
+undulation,1
+undulations,2
+unduly,2
+unearthed,1
+unearthly,12
+uneasiness,2
+uneasy,2
+unendurable,1
+unenervated,1
+unenforceability,1
+unensanguined,1
+unentered,1
+unequal,1
+unerring,3
+unerringly,3
+uneven,1
+uneventfulness,1
+unexaggerated,1
+unexaggerating,1
+unexampled,1
+unexempt,1
+unexhausted,1
+unexhilarated,1
+unexpected,2
+unexpectedly,1
+unextinguished,1
+unfailing,1
+unfair,1
+unfallen,1
+unfaltering,2
+unfamiliar,1
+unfathered,1
+unfathomable,3
+unfathomably,2
+unfavourable,1
+unfearing,2
+unfeatured,1
+unfinished,1
+unfitness,1
+unfitted,1
+unflattering,1
+unflinching,2
+unfold,1
+unfolding,1
+unforgiven,1
+unforseen,1
+unfort'nate,1
+unfort'nt,1
+unfortunate,2
+unfractioned,1
+unfrequent,2
+unfrequented,1
+unfrequently,3
+unfriendly,1
+unfulfilments,1
+unfurling,1
+unfurnished,1
+ungainly,1
+ungarnished,1
+ungentlemanly,1
+ungodly,3
+ungovernable,1
+ungracious,1
+ungraduated,1
+ungraspable,1
+ungrateful,2
+unhappy,1
+unharmed,5
+unharming,2
+unhaunted,1
+unhealing,1
+unheeded,3
+unhesitatingly,1
+unhinge,1
+unhinged,3
+unhinted,1
+unholy,2
+unhooped,1
+unhorse,1
+unicorn,3
+unicornism,1
+unicorns,1
+uniform,4
+uniformity,1
+uniformly,1
+unilluminated,1
+unimaginable,5
+unimaginative,1
+unimpressed,1
+uninhabited,2
+uninjurable,1
+uninjured,2
+unintegral,1
+unintelligence,1
+unintelligent,2
+unintermitted,2
+uninterpenetratingly,1
+uninterrupted,2
+uninvitedly,1
+union,1
+unique,1
+uniqueness,1
+unit,1
+unite,6
+united,19
+universal,8
+universality,1
+universally,4
+universe,6
+university,1
+unknowing,1
+unknown,36
+unlacing,1
+unless,33
+unlettered,1
+unlighted,1
+unlike,8
+unlikely,1
+unlimbed,1
+unlimited,1
+unlink,1
+unload,1
+unloading,1
+unlock,1
+unloitering,1
+unmanageably,1
+unmanifested,1
+unmanned,1
+unmannerly,2
+unmanufactured,3
+unmarred,1
+unmatched,1
+unmeaningly,1
+unmeasured,1
+unmentionable,1
+unmerited,1
+unmethodically,2
+unmindful,3
+unmisgiving,1
+unmistakable,2
+unmistakably,1
+unmitigated,1
+unmixed,1
+unmolested,4
+unmomentous,1
+unmoor,1
+unmurmuringly,1
+unnamable,1
+unnatural,8
+unnaturally,1
+unnearable,2
+unnecessary,6
+unneeded,1
+uno,1
+unobservant,1
+unobserved,3
+unobstructed,4
+unobtrusive,1
+unoccupied,1
+unofficially,1
+unostentatious,1
+unoutgrown,1
+unpainted,1
+unpanelled,1
+unparticipated,1
+unpitying,2
+unpleasant,3
+unpleasing,1
+unpoetical,1
+unpolluted,1
+unprecedented,3
+unprecedentedly,1
+unprejudiced,1
+unprepared,1
+unprincipled,2
+unprofessional,1
+unprofitable,1
+unprovided,3
+unpublished,1
+unquestionable,3
+unquiet,1
+unread,1
+unreasonable,2
+unreasonably,2
+unreasoning,3
+unrecking,1
+unrecorded,4
+unrelenting,1
+unreliable,1
+unrelieved,3
+unreluctantly,1
+unremoved,1
+unresting,2
+unrestingly,3
+unretracing,1
+unreverenced,1
+unrifled,1
+unrigged,1
+unrighteous,1
+unrivalled,2
+unrolled,1
+unrolling,1
+unrustlingly,1
+unsafe,2
+unsaid,1
+unsavory,3
+unsay,1
+unsays,1
+unscathed,1
+unscientific,1
+unscrew,2
+unscrupulous,1
+unsealed,1
+unseamanlike,1
+unseasonable,2
+unseen,14
+unset,1
+unsetting,1
+unsettled,1
+unsheathes,1
+unshored,2
+unshorn,1
+unshunned,1
+unsightly,1
+unsignifying,1
+unskilful,1
+unsleeping,1
+unsmoothable,1
+unsocial,1
+unsolicited,2
+unsolved,1
+unsophisticated,2
+unsounded,4
+unsourced,1
+unspeakable,9
+unspeakably,2
+unspeckled,1
+unsplinterable,1
+unspoken,1
+unspotted,1
+unstaggering,1
+unstaked,1
+unstarched,1
+unstirring,1
+unstranded,1
+unstreaked,1
+unstricken,1
+unsubduable,1
+unsubstantial,1
+unsuccessful,1
+unsuffusing,1
+unsullied,1
+unsupplied,3
+unsuppressable,1
+unsurrenderable,1
+unsurrendered,1
+unsuspected,2
+unsuspecting,1
+unsweetly,1
+untagging,1
+untainted,1
+untasted,1
+untattooed,1
+unthinking,1
+unthinkingly,2
+unthought,1
+untidy,1
+until,10
+untimely,2
+unto,2
+untold,1
+untottering,1
+untouchable,1
+untouched,3
+untoward,3
+untraceable,1
+untrackably,1
+untraditionally,1
+untravelled,2
+untried,1
+untrodden,1
+untutored,4
+unusable,1
+unusual,12
+unusually,5
+unvarying,2
+unverdured,1
+unvexed,1
+unvitiated,2
+unwaning,3
+unwarped,1
+unwarrantable,2
+unwarrantably,2
+unwarranted,2
+unwearied,2
+unwedded,1
+unwelcome,1
+unwieldy,1
+unwilling,1
+unwillingness,1
+unwilted,1
+unwinding,2
+unwinking,1
+unwithdrawn,1
+unwittingly,3
+unwonted,5
+unworshipping,1
+unworthy,4
+unwound,1
+unwritten,2
+unyielding,1
+up,524
+upbraiding,1
+upbraidings,1
+upbubble,1
+upcast,1
+updated,2
+upharsin,1
+upheaved,1
+upheaving,1
+upheld,2
+upholding,1
+uplifted,10
+upliftings,1
+upon,568
+upper,31
+uppermost,4
+upraising,1
+upright,12
+uprising,6
+uproar,1
+upside,1
+upstairs,1
+upward,5
+upwardly,1
+upwards,19
+urbane,1
+urchins,1
+urged,3
+urgent,1
+urging,1
+urn,1
+us,233
+usage,12
+usages,6
+use,49
+used,51
+useful,5
+usefulness,1
+useless,6
+user,3
+uses,7
+usher,2
+ushered,2
+using,15
+usual,9
+usually,6
+usurpation,3
+usurper,1
+ut,1
+utilitarian,2
+utilities,1
+utility,1
+utmost,15
+utter,7
+utterance,2
+uttered,3
+uttering,2
+utterly,13
+uttermost,5
+v,5
+v'y'ge,1
+vacancies,2
+vacancy,3
+vacant,5
+vacantly,3
+vacated,1
+vacating,1
+vacation,1
+vacillations,1
+vacuity,1
+vacuum,1
+vagabond,2
+vagrant,1
+vague,10
+vaguely,4
+vagueness,1
+vain,30
+vainly,6
+vale,3
+vales,1
+valiant,10
+valiantly,2
+valise,1
+valley,6
+valleys,5
+valor,2
+valour,1
+valparaiso,1
+valuable,11
+value,6
+valves,1
+valvular,1
+van,5
+vancouver,2
+vane,3
+vanilla,2
+vanish,1
+vanished,3
+vanity,3
+vanquished,1
+vapour,15
+vapoured,1
+vapours,4
+vapoury,5
+varieties,5
+variety,4
+various,39
+variously,3
+varying,4
+vases,1
+vassal,1
+vast,73
+vastly,1
+vat,1
+vaticans,1
+vats,1
+vault,3
+vaulted,2
+vaults,4
+ve,1
+veal,1
+vedas,2
+veer,1
+vehement,1
+vehemently,3
+vehicle,1
+veil,7
+veiled,1
+vein,2
+veined,1
+veins,6
+velocity,10
+velvet,4
+velvets,2
+vendome,1
+venerable,10
+veneration,1
+venetian,4
+venetianly,1
+vengeance,12
+vengeful,5
+venice,2
+venison,2
+vent,2
+ventilated,1
+venting,1
+ventricles,1
+vents,1
+venture,5
+ventured,2
+veracious,1
+veracity,1
+verbal,2
+verbalists,1
+verbally,3
+verbatim,1
+verdant,3
+verdes,1
+verdigris,1
+verdure,7
+veriest,2
+verifications,1
+verily,4
+veritable,4
+verity,1
+vermicelli,1
+vermillion,1
+vermont,1
+vermonters,1
+vernacular,1
+vernal,2
+vero,1
+versa,1
+versailles,1
+verse,1
+version,6
+versions,1
+vertebra,4
+vertebrae,8
+vertical,5
+vertically,3
+vertu,2
+very,323
+vesper,1
+vessel,55
+vessels,26
+vest,4
+vestibule,1
+vestige,1
+vesture,3
+vesuvius,2
+veteran,4
+vexatious,1
+vexed,2
+vi,2
+via,1
+vial,8
+vials,2
+vibrate,1
+vibrated,3
+vibrating,6
+vibration,5
+vibrations,1
+vicar,1
+vicariously,1
+vice,11
+viceroy,1
+vices,3
+vicinities,1
+vicinity,19
+viciously,2
+viciousness,2
+vicissitude,1
+vicissitudes,7
+victim,3
+victor,3
+victories,1
+victorious,1
+victoriously,1
+victory,2
+vide,1
+vidocq,1
+view,48
+viewed,5
+viewing,2
+views,3
+vigilance,7
+vigilant,3
+vignettes,1
+vigor,1
+vigorous,9
+vigorously,4
+viiith,1
+vile,5
+villa,1
+village,6
+villages,4
+villain,1
+villainies,1
+villainous,1
+villains,3
+villanous,2
+villany,1
+vindicated,1
+vindictive,3
+vindictively,1
+vindictiveness,2
+vine,2
+vinegar,4
+vines,2
+vineyard,7
+vineyarder,2
+vineyards,1
+vintage,1
+vintages,2
+viol,1
+violate,1
+violates,1
+violence,6
+violent,15
+violently,9
+violets,2
+virgin,11
+virginia,6
+virgo,1
+virtue,20
+virtues,2
+virtuous,1
+virus,1
+visage,1
+vishnoo,8
+vishnu,1
+visible,32
+visibly,2
+vision,6
+visions,2
+visit,13
+visitants,1
+visitation,1
+visitations,1
+visited,7
+visiting,3
+visitors,3
+visits,4
+visual,4
+vital,10
+vitality,8
+vitals,1
+vitiated,1
+vitus,1
+vivacious,3
+vivaciously,2
+vivacity,1
+vivid,9
+vividly,1
+vividness,1
+vivifying,1
+vocabulary,1
+vocation,11
+voice,48
+voiced,1
+voicelessly,1
+voices,7
+void,1
+voided,1
+voids,2
+volatile,1
+volcano,2
+volcanoes,2
+volition,5
+volley,1
+volume,13
+volumes,2
+voluntarily,1
+voluntary,1
+volunteer,1
+volunteered,1
+volunteers,6
+vomit,2
+vomited,2
+von,2
+voracious,1
+voracity,2
+vortex,2
+vortices,1
+voted,1
+vouchers,1
+vow,3
+vow'd,1
+vowed,3
+vowing,1
+vows,1
+voyage,103
+voyaged,1
+voyager,4
+voyagers,1
+voyages,18
+voyaging,1
+voyagings,3
+vulture,3
+vultureism,1
+vultures,3
+vum,1
+wa,1
+wad,4
+wade,3
+waded,1
+wading,2
+wafer,1
+wafted,1
+wag,2
+wager,2
+wages,3
+waggish,2
+wagon,1
+waif,8
+waifed,1
+waifing,2
+wail,2
+wailing,1
+wailings,1
+wails,2
+wainscots,1
+waist,11
+waistband,1
+waistcoat,2
+waistcoats,1
+wait,7
+waited,1
+waiter,1
+waiting,3
+waits,2
+waive,1
+waiving,1
+wake,40
+waked,1
+wakeful,2
+wakefulness,1
+wakened,2
+wakes,8
+waking,6
+wal,1
+wales,2
+walfish,1
+walk,8
+walked,6
+walking,9
+walks,6
+wall,24
+walled,4
+wallen,1
+waller,1
+wallet,2
+wallow,3
+wallowed,1
+wallowing,2
+wallows,1
+walls,11
+walnut,1
+walrus,4
+walruses,1
+walter,1
+walw,1
+wampum,1
+wan,1
+wand,2
+wander,1
+wandered,1
+wanderer,1
+wandereth,1
+wandering,4
+wanderings,1
+wane,2
+waned,2
+wanes,1
+waning,4
+wanings,1
+want,33
+wanted,9
+wantest,3
+wanting,11
+wanton,1
+wantonly,1
+wantonness,1
+wants,9
+wapping,2
+war,26
+warbled,1
+warbling,1
+warden,4
+wardrobe,2
+wards,3
+warehouse,2
+warehouses,2
+warfare,1
+warlike,1
+warm,24
+warmed,1
+warmer,1
+warmest,1
+warming,2
+warmly,1
+warmth,3
+warn,3
+warned,2
+warning,7
+warningly,1
+warnings,3
+warp,13
+warped,3
+warping,1
+warrant,2
+warranted,1
+warranties,3
+warrantry,1
+warranty,2
+warring,2
+warringly,1
+warrior,4
+warriors,3
+wary,1
+was,1646
+wash,5
+washed,4
+washes,2
+washing,2
+washington,5
+wasn't,5
+wasps,1
+wast,2
+waste,3
+wasted,5
+wasting,2
+wastingly,1
+wat,1
+watch,58
+watched,5
+watcher,1
+watches,12
+watching,16
+watchmakers,1
+watchman,2
+watchmen,1
+water,190
+watered,1
+watergate,1
+waterless,1
+waterproof,1
+waters,69
+waterspout,1
+waterward,2
+watery,25
+watts,1
+wave,11
+waved,5
+waves,48
+waving,6
+wavingly,1
+wavings,1
+wavy,1
+wax,4
+waxed,1
+waxes,1
+waxy,1
+way,273
+ways,21
+wayward,1
+we,455
+we'd,2
+we'll,9
+we're,2
+we've,2
+weak,1
+weakened,2
+weaker,1
+weakling,1
+weakly,1
+weakness,2
+weal,2
+wealth,3
+wealthiest,1
+wealthy,2
+weapon,9
+weapons,8
+wear,9
+wearer,1
+wearied,3
+wearies,1
+weariest,1
+wearily,2
+weariness,3
+wearing,4
+wearisome,1
+wears,7
+weary,16
+weasel,1
+weather,35
+weathering,1
+weathers,1
+weave,2
+weaver,6
+weaves,1
+weaving,7
+weazel,1
+web,6
+webbed,1
+webster,4
+wedded,5
+wedder,1
+wedding,6
+wedge,2
+wedged,3
+wee,1
+weed,1
+weeds,2
+weedy,3
+week,5
+weekly,1
+weeks,9
+ween,1
+weep,3
+weeping,3
+weepons,1
+weeps,1
+weigh,5
+weighed,3
+weighing,3
+weight,17
+weightiest,1
+weighty,3
+welcome,6
+weld,2
+welded,11
+welding,2
+well,230
+wellington,1
+wells,1
+weltering,3
+went,97
+wept,1
+were,683
+were't,1
+wert,4
+wery,1
+west,18
+wester,1
+westerly,1
+western,8
+westers,1
+westward,3
+wet,11
+wetter,1
+whale,1232
+whaleboat,1
+whaleboats,4
+whalebone,11
+whaleboning,1
+whaled,1
+whaleman,46
+whalemen,72
+whaler,19
+whalers,19
+whales,268
+whaleship,1
+whaleships,2
+whalesmen,1
+whalin,1
+whaling,131
+whang,2
+wharf,11
+wharton,1
+wharves,5
+what,619
+whatever,46
+whatsoever,7
+wheat,2
+wheel,6
+wheelbarrow,3
+wheeled,5
+wheeling,5
+wheels,5
+wheezing,1
+whelm,1
+whelmed,3
+whelmings,1
+whelped,1
+when,607
+whence,17
+whencesoe'er,1
+whenever,16
+where,222
+where'er,1
+whereas,18
+whereat,1
+whereby,9
+wherefore,13
+wherein,8
+whereof,4
+whereon,4
+wheresoe'er,1
+whereto,1
+whereupon,5
+wherever,6
+wherewith,1
+whether,91
+whets,1
+whetstone,2
+whetstones,1
+whew,3
+which,655
+whichever,2
+whiff,2
+whiffs,1
+while,247
+whilst,1
+whim,3
+whimsicalities,1
+whimsiness,1
+whip,8
+whipped,1
+whipping,2
+whips,3
+whirl,2
+whirled,4
+whirling,7
+whirlpool,3
+whirlpooles,1
+whirls,1
+whirlwinds,1
+whisker,2
+whiskers,6
+whiskey,1
+whisper,5
+whispered,11
+whispering,3
+whisperingly,1
+whispers,3
+whist,1
+whistle,1
+whistled,1
+whistling,2
+whistlingly,1
+whit,3
+white,281
+whitehall,1
+whitened,2
+whiteness,27
+whitenesses,1
+whites,2
+whitest,1
+whitewashed,1
+whither,2
+whitish,2
+whitsuntide,1
+whittled,1
+whittling,3
+whizzings,1
+who,364
+who'd,1
+who'll,1
+whoel,1
+whoever,5
+whole,137
+wholesome,2
+wholly,27
+whom,45
+whoop,1
+whooping,1
+whose,87
+whosoever,4
+why,119
+wick,1
+wicked,11
+wickedness,1
+wid,2
+wide,51
+widely,7
+widening,1
+widest,4
+widow,8
+widowed,2
+widows,4
+width,3
+wielded,2
+wields,1
+wife,26
+wight,5
+wights,1
+wigwam,8
+wigwams,1
+wild,84
+wilderness,4
+wildest,2
+wildly,9
+wildness,3
+wilds,1
+wilful,7
+wilfulness,1
+will,398
+willains,1
+willed,2
+william,4
+willing,4
+willingly,4
+willingness,1
+willis,1
+willoughby,1
+willow,1
+wills,1
+wilt,9
+wilted,1
+winces,1
+wincing,1
+wind,70
+windbound,1
+winding,6
+windlass,22
+window,16
+windows,5
+windpipe,2
+windrowed,1
+winds,21
+windsor,3
+windward,22
+windy,1
+wine,12
+wines,1
+wing,10
+winged,4
+wings,7
+wink,1
+winking,1
+winks,1
+winnebago,1
+winsome,2
+winter,12
+wintry,3
+wipe,1
+wiping,1
+wire,2
+wires,2
+wisdom,5
+wise,26
+wiseish,1
+wisely,1
+wisest,2
+wish,15
+wished,1
+wit,2
+witch,1
+witcheries,1
+witchery,1
+with,1770
+withal,3
+withdraw,1
+withdrawal,1
+withdrawals,1
+withdrawing,8
+withdrawn,5
+withdraws,1
+withdrew,3
+withered,2
+withhold,2
+withholding,1
+within,83
+without,164
+withstand,9
+withstanding,1
+witness,5
+witnesses,1
+witnessing,2
+wits,1
+witt,1
+witted,1
+wittiness,1
+witty,2
+wived,1
+wives,5
+woe,31
+woebegone,2
+woeful,2
+woes,1
+wolfish,2
+wolves,2
+woman,10
+womb,1
+women,11
+won't,32
+wonder,36
+wondered,2
+wonderful,22
+wonderfullest,1
+wonderfully,2
+wonderfulness,1
+wondering,4
+wonderingly,1
+wonderment,2
+wonderments,1
+wonders,13
+wondrous,42
+wondrously,2
+wondrousness,1
+wonst,1
+wont,9
+wonted,2
+woo,1
+wood,36
+woodcock,1
+wooded,1
+wooden,27
+woodland,1
+woodlands,2
+woodpecker,1
+woods,10
+woody,1
+woof,7
+wooing,1
+wool,2
+woollen,7
+woracious,1
+woraciousness,2
+word,77
+wordless,1
+words,29
+wore,11
+work,110
+worked,8
+worker,1
+workers,1
+working,15
+workman,2
+workmanlike,2
+workmen,1
+works,63
+world,176
+worldly,1
+worlds,7
+worm,5
+worming,1
+worn,11
+worried,1
+worryings,1
+worse,21
+worship,11
+worshipped,3
+worshipper,2
+worshippers,2
+worshipping,5
+worships,2
+worst,2
+worsted,3
+worth,14
+worthy,8
+would,430
+would'st,2
+wouldn't,8
+wouldst,3
+wound,17
+wounded,9
+wounding,1
+wounds,1
+woven,8
+wrangling,1
+wrap,1
+wrapall,1
+wrapped,9
+wrapper,2
+wrapping,2
+wraps,3
+wrapt,2
+wrath,6
+wreak,1
+wreath,1
+wreck,13
+wrecked,8
+wrecks,4
+wrench,3
+wrenched,6
+wrenching,3
+wrest,4
+wrestling,1
+wrestlings,1
+wretched,8
+wretchedly,1
+wriggles,1
+wriggling,4
+wring,1
+wrinkled,15
+wrinkles,15
+wrinkling,1
+wrist,6
+wrists,6
+writ,2
+write,5
+writer,2
+writers,3
+writhed,1
+writhing,2
+writing,5
+written,14
+wrong,8
+wrote,3
+wrought,6
+wrung,1
+www.gutenberg.org,5
+www.pglaf.org,1
+x,1
+xerxes,2
+xvi,1
+xxxix,1
+y,1
+yale,2
+yankee,1
+yankees,3
+yard,18
+yards,27
+yarman,7
+yarn,6
+yarns,5
+yaw,2
+yawed,1
+yawing,1
+yawingly,1
+yawned,3
+yawning,3
+ye,431
+ye'll,3
+ye're,1
+ye've,4
+yea,14
+year,27
+yearly,1
+years,97
+yeast,2
+yell,2
+yelled,6
+yelling,3
+yellow,23
+yellowish,2
+yells,2
+yes,75
+yesterday,10
+yet,345
+yield,15
+yielded,2
+yielding,3
+yields,3
+yojo,17
+yoke,3
+yoked,4
+yokes,1
+yoking,1
+yon,10
+yonder,18
+yore,2
+york,6
+yorkshire,1
+you,946
+you'd,3
+you'll,8
+you're,6
+you've,1
+young,80
+younger,2
+youngest,1
+youngish,1
+your,258
+yours,9
+yourselbs,1
+yourself,26
+yourselves,7
+youth,9
+youthful,2
+zag,1
+zay,1
+zeal,2
+zealand,7
+zealanders,1
+zephyr,1
+zeuglodon,1
+zig,1
+zodiac,5
+zogranda,1
+zone,5
+zoned,2
+zones,3
+zoology,2
+zoroaster,1
diff --git a/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/spillable/ExternalAggregateTest.java b/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/spillable/ExternalAggregateTest.java
new file mode 100644
index 0000000..2621049
--- /dev/null
+++ b/hyracks/hyracks-examples/hyracks-integration-tests/src/test/java/edu/uci/ics/hyracks/tests/spillable/ExternalAggregateTest.java
@@ -0,0 +1,430 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.tests.spillable;
+
+import java.io.File;
+
+import org.junit.Test;
+
+import edu.uci.ics.hyracks.api.constraints.AbsoluteLocationConstraint;
+import edu.uci.ics.hyracks.api.constraints.ExplicitPartitionConstraint;
+import edu.uci.ics.hyracks.api.constraints.LocationConstraint;
+import edu.uci.ics.hyracks.api.constraints.PartitionConstraint;
+import edu.uci.ics.hyracks.api.dataflow.IConnectorDescriptor;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
+import edu.uci.ics.hyracks.api.io.FileReference;
+import edu.uci.ics.hyracks.api.job.JobSpecification;
+import edu.uci.ics.hyracks.dataflow.common.data.comparators.IntegerBinaryComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.comparators.UTF8StringBinaryComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.hash.IntegerBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.hash.UTF8StringBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.FloatSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.FloatParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.IValueParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.IntegerParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.UTF8StringParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.partition.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.CountAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.IFieldValueResultingAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.MinMaxAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.MultiAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.SumAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.connectors.MToNHashPartitioningConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.connectors.OneToOneConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.ConstantFileSplitProvider;
+import edu.uci.ics.hyracks.dataflow.std.file.DelimitedDataTupleParserFactory;
+import edu.uci.ics.hyracks.dataflow.std.file.FileScanOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.file.IFileSplitProvider;
+import edu.uci.ics.hyracks.dataflow.std.group.ExternalHashGroupOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.group.HashGroupOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.misc.PrinterOperatorDescriptor;
+import edu.uci.ics.hyracks.tests.integration.AbstractIntegrationTest;
+
+/**
+ * Test cases for external hash group operator.
+ */
+public class ExternalAggregateTest extends AbstractIntegrationTest {
+
+    /**
+     * Test 01: aggregate (count) on single field, on a simple data set.
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void externalAggregateTestSingleFieldSimpleData() throws Exception {
+        JobSpecification spec = new JobSpecification();
+
+        IFileSplitProvider splitProvider = new ConstantFileSplitProvider(new FileSplit[] {
+                new FileSplit(NC2_ID, new FileReference(new File("data/wordcount.tsv"))),
+                new FileSplit(NC1_ID, new FileReference(new File("data/wordcount.tsv"))) });
+
+        // Input format: a string field as the key
+        RecordDescriptor desc = new RecordDescriptor(
+                new ISerializerDeserializer[] { UTF8StringSerializerDeserializer.INSTANCE });
+
+        // Output format: a string field as the key, and an integer field as the
+        // count
+        RecordDescriptor outputRec = new RecordDescriptor(new ISerializerDeserializer[] {
+                UTF8StringSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE });
+
+        // Data set format: word(string),count(int)
+        FileScanOperatorDescriptor csvScanner = new FileScanOperatorDescriptor(
+                spec,
+                splitProvider,
+                new DelimitedDataTupleParserFactory(new IValueParserFactory[] { UTF8StringParserFactory.INSTANCE }, ','),
+                desc);
+        PartitionConstraint csvPartitionConstraint = new ExplicitPartitionConstraint(new LocationConstraint[] {
+                new AbsoluteLocationConstraint(NC2_ID), new AbsoluteLocationConstraint(NC1_ID) });
+        csvScanner.setPartitionConstraint(csvPartitionConstraint);
+
+        int[] keys = new int[] { 0 };
+        int tableSize = 8;
+
+        ExternalHashGroupOperatorDescriptor grouper = new ExternalHashGroupOperatorDescriptor(
+                spec, // Job conf
+                keys, // Group key
+                3, // Number of frames
+                false, // Whether to sort the output
+                // Hash partitioner
+                new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] { UTF8StringBinaryHashFunctionFactory.INSTANCE }),
+                        // Key comparator
+                        new IBinaryComparatorFactory[] { UTF8StringBinaryComparatorFactory.INSTANCE },
+                        // Aggregator factory
+                        new MultiAggregatorFactory(new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory() }),
+                        outputRec, // Output format
+                        tableSize // Size of the hashing table, which is used to control
+                        // the partition when hashing
+        );
+
+        PartitionConstraint grouperPartitionConstraint = new ExplicitPartitionConstraint(new LocationConstraint[] {
+                new AbsoluteLocationConstraint(NC2_ID), new AbsoluteLocationConstraint(NC1_ID) });
+        grouper.setPartitionConstraint(grouperPartitionConstraint);
+
+        IConnectorDescriptor conn1 = new MToNHashPartitioningConnectorDescriptor(spec,
+                new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] { UTF8StringBinaryHashFunctionFactory.INSTANCE }));
+        spec.connect(conn1, csvScanner, 0, grouper, 0);
+
+        PrinterOperatorDescriptor printer = new PrinterOperatorDescriptor(spec);
+        PartitionConstraint printerPartitionConstraint = new ExplicitPartitionConstraint(new LocationConstraint[] {
+                new AbsoluteLocationConstraint(NC2_ID), new AbsoluteLocationConstraint(NC1_ID) });
+        printer.setPartitionConstraint(printerPartitionConstraint);
+
+        IConnectorDescriptor conn2 = new OneToOneConnectorDescriptor(spec);
+        spec.connect(conn2, grouper, 0, printer, 0);
+
+        spec.addRoot(printer);
+        runTest(spec);
+    }
+
+    /**
+     * Test 02: Control experiment using in-memory aggregator, on the same data
+     * set of {@link #externalAggregateTest01()}
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void externalAggregateTestSingleFieldSimpleDataInMemControl() throws Exception {
+        JobSpecification spec = new JobSpecification();
+
+        IFileSplitProvider splitProvider = new ConstantFileSplitProvider(new FileSplit[] {
+                new FileSplit(NC2_ID, new FileReference(new File("data/wordcount.tsv"))),
+                new FileSplit(NC1_ID, new FileReference(new File("data/wordcount.tsv"))) });
+
+        RecordDescriptor desc = new RecordDescriptor(
+                new ISerializerDeserializer[] { UTF8StringSerializerDeserializer.INSTANCE });
+
+        RecordDescriptor outputRec = new RecordDescriptor(new ISerializerDeserializer[] {
+                UTF8StringSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE });
+
+        FileScanOperatorDescriptor csvScanner = new FileScanOperatorDescriptor(
+                spec,
+                splitProvider,
+                new DelimitedDataTupleParserFactory(new IValueParserFactory[] { UTF8StringParserFactory.INSTANCE }, ','),
+                desc);
+        PartitionConstraint csvPartitionConstraint = new ExplicitPartitionConstraint(new LocationConstraint[] {
+                new AbsoluteLocationConstraint(NC2_ID), new AbsoluteLocationConstraint(NC1_ID) });
+        csvScanner.setPartitionConstraint(csvPartitionConstraint);
+
+        int[] keys = new int[] { 0 };
+        int tableSize = 8;
+
+        HashGroupOperatorDescriptor grouper = new HashGroupOperatorDescriptor(
+                spec,
+                keys,
+                new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] { UTF8StringBinaryHashFunctionFactory.INSTANCE }),
+                        new IBinaryComparatorFactory[] { UTF8StringBinaryComparatorFactory.INSTANCE },
+                        new MultiAggregatorFactory(new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory() }),
+                        outputRec, tableSize);
+
+        PartitionConstraint grouperPartitionConstraint = new ExplicitPartitionConstraint(new LocationConstraint[] {
+                new AbsoluteLocationConstraint(NC2_ID), new AbsoluteLocationConstraint(NC1_ID) });
+        grouper.setPartitionConstraint(grouperPartitionConstraint);
+
+        IConnectorDescriptor conn1 = new MToNHashPartitioningConnectorDescriptor(spec,
+                new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] { UTF8StringBinaryHashFunctionFactory.INSTANCE }));
+        spec.connect(conn1, csvScanner, 0, grouper, 0);
+
+        PrinterOperatorDescriptor printer = new PrinterOperatorDescriptor(spec);
+        PartitionConstraint printerPartitionConstraint = new ExplicitPartitionConstraint(new LocationConstraint[] {
+                new AbsoluteLocationConstraint(NC2_ID), new AbsoluteLocationConstraint(NC1_ID) });
+        printer.setPartitionConstraint(printerPartitionConstraint);
+
+        IConnectorDescriptor conn2 = new OneToOneConnectorDescriptor(spec);
+        spec.connect(conn2, grouper, 0, printer, 0);
+
+        spec.addRoot(printer);
+        runTest(spec);
+    }
+
+    /**
+     * Test 03: aggregates on multiple fields
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void externalAggregateTestMultiAggFields() throws Exception {
+        JobSpecification spec = new JobSpecification();
+
+        FileSplit[] ordersSplits = new FileSplit[] { new FileSplit(NC2_ID, new FileReference(new File(
+        "data/tpch0.001/lineitem.tbl"))) };
+        IFileSplitProvider ordersSplitsProvider = new ConstantFileSplitProvider(ordersSplits);
+        RecordDescriptor ordersDesc = new RecordDescriptor(new ISerializerDeserializer[] {
+                UTF8StringSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                FloatSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE });
+
+        FileScanOperatorDescriptor ordScanner = new FileScanOperatorDescriptor(spec, ordersSplitsProvider,
+                new DelimitedDataTupleParserFactory(new IValueParserFactory[] { UTF8StringParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, FloatParserFactory.INSTANCE, FloatParserFactory.INSTANCE,
+                        FloatParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, }, '|'), ordersDesc);
+        PartitionConstraint ordersPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        ordScanner.setPartitionConstraint(ordersPartitionConstraint);
+
+        RecordDescriptor outputRec = new RecordDescriptor(new ISerializerDeserializer[] {
+                UTF8StringSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE });
+
+        PartitionConstraint csvPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        ordScanner.setPartitionConstraint(csvPartitionConstraint);
+
+        int[] keys = new int[] { 0 };
+        int tableSize = 8;
+
+        ExternalHashGroupOperatorDescriptor grouper = new ExternalHashGroupOperatorDescriptor(spec, keys, 3, false,
+                new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] { UTF8StringBinaryHashFunctionFactory.INSTANCE }),
+                        new IBinaryComparatorFactory[] { UTF8StringBinaryComparatorFactory.INSTANCE },
+                        new MultiAggregatorFactory(new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory(),
+                                new SumAggregatorFactory(4), new MinMaxAggregatorFactory(true, 5) }), outputRec, tableSize);
+
+        PartitionConstraint grouperPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        grouper.setPartitionConstraint(grouperPartitionConstraint);
+
+        IConnectorDescriptor conn1 = new MToNHashPartitioningConnectorDescriptor(spec,
+                new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] { UTF8StringBinaryHashFunctionFactory.INSTANCE }));
+        spec.connect(conn1, ordScanner, 0, grouper, 0);
+
+        PrinterOperatorDescriptor printer = new PrinterOperatorDescriptor(spec);
+        PartitionConstraint printerPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        printer.setPartitionConstraint(printerPartitionConstraint);
+
+        IConnectorDescriptor conn2 = new OneToOneConnectorDescriptor(spec);
+        spec.connect(conn2, grouper, 0, printer, 0);
+
+        spec.addRoot(printer);
+        runTest(spec);
+    }
+
+    /**
+     * Test 05: aggregate on multiple key fields
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void externalAggregateTestMultiKeys() throws Exception {
+        JobSpecification spec = new JobSpecification();
+
+        FileSplit[] ordersSplits = new FileSplit[] { new FileSplit(NC2_ID, new FileReference(new File(
+        "data/tpch0.001/lineitem.tbl"))) };
+        IFileSplitProvider ordersSplitsProvider = new ConstantFileSplitProvider(ordersSplits);
+        RecordDescriptor ordersDesc = new RecordDescriptor(new ISerializerDeserializer[] {
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                FloatSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE });
+
+        FileScanOperatorDescriptor ordScanner = new FileScanOperatorDescriptor(spec, ordersSplitsProvider,
+                new DelimitedDataTupleParserFactory(new IValueParserFactory[] { UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, FloatParserFactory.INSTANCE, FloatParserFactory.INSTANCE,
+                        FloatParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, }, '|'), ordersDesc);
+        PartitionConstraint ordersPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        ordScanner.setPartitionConstraint(ordersPartitionConstraint);
+
+        RecordDescriptor outputRec = new RecordDescriptor(new ISerializerDeserializer[] {
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                FloatSerializerDeserializer.INSTANCE });
+
+        PartitionConstraint csvPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        ordScanner.setPartitionConstraint(csvPartitionConstraint);
+
+        // Group on two fields
+        int[] keys = new int[] { 0, 1 };
+        int tableSize = 8;
+
+        ExternalHashGroupOperatorDescriptor grouper = new ExternalHashGroupOperatorDescriptor(spec, keys, 3, false,
+                new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                        UTF8StringBinaryHashFunctionFactory.INSTANCE, UTF8StringBinaryHashFunctionFactory.INSTANCE }),
+                        new IBinaryComparatorFactory[] { UTF8StringBinaryComparatorFactory.INSTANCE,
+            UTF8StringBinaryComparatorFactory.INSTANCE }, new MultiAggregatorFactory(
+                    new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory(),
+                            new SumAggregatorFactory(4), new MinMaxAggregatorFactory(true, 5) }), outputRec,
+                            tableSize);
+
+        PartitionConstraint grouperPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        grouper.setPartitionConstraint(grouperPartitionConstraint);
+
+        IConnectorDescriptor conn1 = new MToNHashPartitioningConnectorDescriptor(spec,
+                new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                        UTF8StringBinaryHashFunctionFactory.INSTANCE, UTF8StringBinaryHashFunctionFactory.INSTANCE }));
+        spec.connect(conn1, ordScanner, 0, grouper, 0);
+
+        PrinterOperatorDescriptor printer = new PrinterOperatorDescriptor(spec);
+        PartitionConstraint printerPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        printer.setPartitionConstraint(printerPartitionConstraint);
+
+        IConnectorDescriptor conn2 = new OneToOneConnectorDescriptor(spec);
+        spec.connect(conn2, grouper, 0, printer, 0);
+
+        spec.addRoot(printer);
+        runTest(spec);
+    }
+
+    /**
+     * Test 06: tests on non-string key field
+     * 
+     * @throws Exception
+     */
+    @Test
+    public void externalAggregateTestNonStringKey() throws Exception {
+        JobSpecification spec = new JobSpecification();
+
+        FileSplit[] ordersSplits = new FileSplit[] { new FileSplit(NC2_ID, new FileReference(new File(
+        "data/tpch0.001/lineitem.tbl"))) };
+        IFileSplitProvider ordersSplitsProvider = new ConstantFileSplitProvider(ordersSplits);
+        RecordDescriptor ordersDesc = new RecordDescriptor(new ISerializerDeserializer[] {
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                FloatSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE });
+
+        FileScanOperatorDescriptor ordScanner = new FileScanOperatorDescriptor(spec, ordersSplitsProvider,
+                new DelimitedDataTupleParserFactory(new IValueParserFactory[] { IntegerParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, FloatParserFactory.INSTANCE, FloatParserFactory.INSTANCE,
+                        FloatParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, }, '|'), ordersDesc);
+        PartitionConstraint ordersPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        ordScanner.setPartitionConstraint(ordersPartitionConstraint);
+
+        RecordDescriptor outputRec = new RecordDescriptor(new ISerializerDeserializer[] {
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                FloatSerializerDeserializer.INSTANCE });
+
+        PartitionConstraint csvPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        ordScanner.setPartitionConstraint(csvPartitionConstraint);
+
+        // Group on two fields
+        int[] keys = new int[] { 0, 1 };
+        int tableSize = 8;
+
+        ExternalHashGroupOperatorDescriptor grouper = new ExternalHashGroupOperatorDescriptor(spec, keys, 3000, true,
+                new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                        IntegerBinaryHashFunctionFactory.INSTANCE, IntegerBinaryHashFunctionFactory.INSTANCE }),
+                        new IBinaryComparatorFactory[] { IntegerBinaryComparatorFactory.INSTANCE,
+            IntegerBinaryComparatorFactory.INSTANCE }, new MultiAggregatorFactory(
+                    new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory(),
+                            new SumAggregatorFactory(4), new MinMaxAggregatorFactory(true, 5) }), outputRec,
+                            tableSize);
+
+        PartitionConstraint grouperPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        grouper.setPartitionConstraint(grouperPartitionConstraint);
+
+        IConnectorDescriptor conn1 = new MToNHashPartitioningConnectorDescriptor(spec,
+                new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                        IntegerBinaryHashFunctionFactory.INSTANCE, IntegerBinaryHashFunctionFactory.INSTANCE }));
+        spec.connect(conn1, ordScanner, 0, grouper, 0);
+
+        PrinterOperatorDescriptor printer = new PrinterOperatorDescriptor(spec);
+        PartitionConstraint printerPartitionConstraint = new ExplicitPartitionConstraint(
+                new LocationConstraint[] { new AbsoluteLocationConstraint(NC1_ID) });
+        printer.setPartitionConstraint(printerPartitionConstraint);
+
+        IConnectorDescriptor conn2 = new OneToOneConnectorDescriptor(spec);
+        spec.connect(conn2, grouper, 0, printer, 0);
+
+        spec.addRoot(printer);
+        runTest(spec);
+    }
+}
diff --git a/hyracks/hyracks-examples/text-example/textclient/src/main/java/edu/uci/ics/hyracks/examples/text/client/ExternalGroupClient.java b/hyracks/hyracks-examples/text-example/textclient/src/main/java/edu/uci/ics/hyracks/examples/text/client/ExternalGroupClient.java
new file mode 100644
index 0000000..f02c855
--- /dev/null
+++ b/hyracks/hyracks-examples/text-example/textclient/src/main/java/edu/uci/ics/hyracks/examples/text/client/ExternalGroupClient.java
@@ -0,0 +1,307 @@
+/*
+ * Copyright 2009-2010 by The Regents of the University of California
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * you may obtain a copy of the License from
+ * 
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ * 
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package edu.uci.ics.hyracks.examples.text.client;
+
+import java.io.File;
+import java.util.UUID;
+
+import org.kohsuke.args4j.CmdLineParser;
+import org.kohsuke.args4j.Option;
+
+import edu.uci.ics.hyracks.api.client.HyracksRMIConnection;
+import edu.uci.ics.hyracks.api.client.IHyracksClientConnection;
+import edu.uci.ics.hyracks.api.constraints.AbsoluteLocationConstraint;
+import edu.uci.ics.hyracks.api.constraints.ExplicitPartitionConstraint;
+import edu.uci.ics.hyracks.api.constraints.LocationConstraint;
+import edu.uci.ics.hyracks.api.constraints.PartitionConstraint;
+import edu.uci.ics.hyracks.api.dataflow.IConnectorDescriptor;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
+import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
+import edu.uci.ics.hyracks.api.io.FileReference;
+import edu.uci.ics.hyracks.api.job.JobSpecification;
+import edu.uci.ics.hyracks.dataflow.common.data.comparators.IntegerBinaryComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.hash.IntegerBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.FloatSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.IntegerSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.common.data.marshalling.UTF8StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.FloatParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.IValueParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.IntegerParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.parsers.UTF8StringParserFactory;
+import edu.uci.ics.hyracks.dataflow.common.data.partition.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.CountAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.IFieldValueResultingAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.MultiAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.connectors.MToNHashPartitioningConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.connectors.OneToOneConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.ConstantFileSplitProvider;
+import edu.uci.ics.hyracks.dataflow.std.file.DelimitedDataTupleParserFactory;
+import edu.uci.ics.hyracks.dataflow.std.file.FileScanOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.file.FrameFileWriterOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.IFileSplitProvider;
+import edu.uci.ics.hyracks.dataflow.std.file.PlainFileWriterOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.group.ExternalHashGroupOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.group.HashGroupOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.group.PreclusteredGroupOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.sort.ExternalSortOperatorDescriptor;
+
+/**
+ * The application client for the performance tests of the external hash group
+ * operator.
+ */
+public class ExternalGroupClient {
+    private static class Options {
+        @Option(name = "-host", usage = "Hyracks Cluster Controller Host name", required = true)
+        public String host;
+
+        @Option(name = "-port", usage = "Hyracks Cluster Controller Port (default: 1099)")
+        public int port = 1099;
+
+        @Option(name = "-app", usage = "Hyracks Application name", required = true)
+        public String app;
+
+        @Option(name = "-infile-splits", usage = "Comma separated list of file-splits for the input. A file-split is <node-name>:<path>", required = true)
+        public String inFileSplits;
+
+        @Option(name = "-outfile-splits", usage = "Comma separated list of file-splits for the output", required = true)
+        public String outFileSplits;
+
+        @Option(name = "-hashtable-size", usage = "Hash table size (default: 8191)", required = false)
+        public int htSize = 8191;
+
+        @Option(name = "-frames-limit", usage = "Frame size (default: 32768)", required = false)
+        public int framesLimit = 32768;
+
+        @Option(name = "-sortbuffer-size", usage = "Sort buffer size in frames (default: 512)", required = false)
+        public int sbSize = 512;
+
+        @Option(name = "-sort-output", usage = "Whether to sort the output (default: true)", required = false)
+        public boolean sortOutput = false;
+
+        @Option(name = "-out-plain", usage = "Whether to output plain text (default: true)", required = false)
+        public boolean outPlain = true;
+    }
+
+    /**
+     * @param args
+     */
+    public static void main(String[] args) throws Exception {
+        Options options = new Options();
+        CmdLineParser parser = new CmdLineParser(options);
+        parser.parseArgument(args);
+
+        IHyracksClientConnection hcc = new HyracksRMIConnection(options.host, options.port);
+
+        JobSpecification job;
+
+        for (int i = 0; i < 3; i++) {
+            long start = System.currentTimeMillis();
+            job = createJob(parseFileSplits(options.inFileSplits), parseFileSplits(options.outFileSplits, i % 2),
+                    options.htSize, options.sbSize, options.framesLimit, options.sortOutput, i % 2, options.outPlain);
+
+            System.out.print(i + "\t" + (System.currentTimeMillis() - start));
+            start = System.currentTimeMillis();
+            UUID jobId = hcc.createJob(options.app, job);
+            hcc.start(jobId);
+            hcc.waitForCompletion(jobId);
+            System.out.println("\t" + (System.currentTimeMillis() - start));
+        }
+    }
+
+    private static FileSplit[] parseFileSplits(String fileSplits) {
+        String[] splits = fileSplits.split(",");
+        FileSplit[] fSplits = new FileSplit[splits.length];
+        for (int i = 0; i < splits.length; ++i) {
+            String s = splits[i].trim();
+            int idx = s.indexOf(':');
+            if (idx < 0) {
+                throw new IllegalArgumentException("File split " + s + " not well formed");
+            }
+            fSplits[i] = new FileSplit(s.substring(0, idx), new FileReference(new File(s.substring(idx + 1))));
+        }
+        return fSplits;
+    }
+
+    private static FileSplit[] parseFileSplits(String fileSplits, int count) {
+        String[] splits = fileSplits.split(",");
+        FileSplit[] fSplits = new FileSplit[splits.length];
+        for (int i = 0; i < splits.length; ++i) {
+            String s = splits[i].trim();
+            int idx = s.indexOf(':');
+            if (idx < 0) {
+                throw new IllegalArgumentException("File split " + s + " not well formed");
+            }
+            fSplits[i] = new FileSplit(s.substring(0, idx), new FileReference(new File(s.substring(idx + 1) + "_"
+                    + count)));
+        }
+        return fSplits;
+    }
+
+    private static JobSpecification createJob(FileSplit[] inSplits, FileSplit[] outSplits, int htSize, int sbSize,
+            int framesLimit, boolean sortOutput, int alg, boolean outPlain) {
+        JobSpecification spec = new JobSpecification();
+        IFileSplitProvider splitsProvider = new ConstantFileSplitProvider(inSplits);
+
+        RecordDescriptor inDesc = new RecordDescriptor(new ISerializerDeserializer[] {
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                FloatSerializerDeserializer.INSTANCE, FloatSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE,
+                UTF8StringSerializerDeserializer.INSTANCE, UTF8StringSerializerDeserializer.INSTANCE });
+
+        FileScanOperatorDescriptor fileScanner = new FileScanOperatorDescriptor(spec, splitsProvider,
+                new DelimitedDataTupleParserFactory(new IValueParserFactory[] { IntegerParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE, IntegerParserFactory.INSTANCE,
+                        IntegerParserFactory.INSTANCE, FloatParserFactory.INSTANCE, FloatParserFactory.INSTANCE,
+                        FloatParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, UTF8StringParserFactory.INSTANCE,
+                        UTF8StringParserFactory.INSTANCE, }, '|'), inDesc);
+
+        fileScanner.setPartitionConstraint(createPartitionConstraint(inSplits));
+
+        // Output: each unique string with an integer count
+        RecordDescriptor outDesc = new RecordDescriptor(new ISerializerDeserializer[] {
+                IntegerSerializerDeserializer.INSTANCE,
+                // IntegerSerializerDeserializer.INSTANCE,
+                IntegerSerializerDeserializer.INSTANCE });
+
+        // Specify the grouping key, which will be the string extracted during
+        // the scan.
+        int[] keys = new int[] { 0,
+                // 1
+        };
+
+        AbstractOperatorDescriptor grouper;
+
+        switch (alg) {
+            case 0: // External hash group
+                grouper = new ExternalHashGroupOperatorDescriptor(spec, keys, framesLimit, false,
+                        new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                                // IntegerBinaryHashFunctionFactory.INSTANCE,
+                                IntegerBinaryHashFunctionFactory.INSTANCE }), new IBinaryComparatorFactory[] {
+                    // IntegerBinaryComparatorFactory.INSTANCE,
+                    IntegerBinaryComparatorFactory.INSTANCE }, new MultiAggregatorFactory(
+                            new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory() }), outDesc,
+                            htSize);
+
+                grouper.setPartitionConstraint(createPartitionConstraint(outSplits));
+
+                // Connect scanner with the grouper
+                IConnectorDescriptor scanGroupConn = new MToNHashPartitioningConnectorDescriptor(spec,
+                        new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                                // IntegerBinaryHashFunctionFactory.INSTANCE,
+                                IntegerBinaryHashFunctionFactory.INSTANCE }));
+                spec.connect(scanGroupConn, fileScanner, 0, grouper, 0);
+                break;
+            case 1: // External sort + pre-cluster
+                ExternalSortOperatorDescriptor sorter = new ExternalSortOperatorDescriptor(spec, framesLimit, keys,
+                        new IBinaryComparatorFactory[] {
+                        // IntegerBinaryComparatorFactory.INSTANCE,
+                        IntegerBinaryComparatorFactory.INSTANCE }, inDesc);
+                sorter.setPartitionConstraint(createPartitionConstraint(inSplits));
+
+                // Connect scan operator with the sorter
+                IConnectorDescriptor scanSortConn = new MToNHashPartitioningConnectorDescriptor(spec,
+                        new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                                // IntegerBinaryHashFunctionFactory.INSTANCE,
+                                IntegerBinaryHashFunctionFactory.INSTANCE }));
+                spec.connect(scanSortConn, fileScanner, 0, sorter, 0);
+
+                grouper = new PreclusteredGroupOperatorDescriptor(spec, keys, new IBinaryComparatorFactory[] {
+                        // IntegerBinaryComparatorFactory.INSTANCE,
+                        IntegerBinaryComparatorFactory.INSTANCE }, new MultiAggregatorFactory(
+                                new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory() }), outDesc);
+
+                grouper.setPartitionConstraint(createPartitionConstraint(outSplits));
+
+                // Connect sorter with the pre-cluster
+                OneToOneConnectorDescriptor sortGroupConn = new OneToOneConnectorDescriptor(spec);
+                spec.connect(sortGroupConn, sorter, 0, grouper, 0);
+                break;
+            case 2: // In-memory hash group
+                grouper = new HashGroupOperatorDescriptor(spec, keys, new FieldHashPartitionComputerFactory(keys,
+                        new IBinaryHashFunctionFactory[] {
+                        // IntegerBinaryHashFunctionFactory.INSTANCE,
+                        IntegerBinaryHashFunctionFactory.INSTANCE }), new IBinaryComparatorFactory[] {
+                    // IntegerBinaryComparatorFactory.INSTANCE,
+                    IntegerBinaryComparatorFactory.INSTANCE }, new MultiAggregatorFactory(
+                            new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory() }), outDesc,
+                            htSize);
+
+                grouper.setPartitionConstraint(createPartitionConstraint(outSplits));
+
+                // Connect scanner with the grouper
+                IConnectorDescriptor scanConn = new MToNHashPartitioningConnectorDescriptor(spec,
+                        new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                                // IntegerBinaryHashFunctionFactory.INSTANCE,
+                                IntegerBinaryHashFunctionFactory.INSTANCE }));
+                spec.connect(scanConn, fileScanner, 0, grouper, 0);
+                break;
+            default:
+                grouper = new ExternalHashGroupOperatorDescriptor(spec, keys, framesLimit, false,
+                        new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                                // IntegerBinaryHashFunctionFactory.INSTANCE,
+                                IntegerBinaryHashFunctionFactory.INSTANCE }), new IBinaryComparatorFactory[] {
+                    // IntegerBinaryComparatorFactory.INSTANCE,
+                    IntegerBinaryComparatorFactory.INSTANCE }, new MultiAggregatorFactory(
+                            new IFieldValueResultingAggregatorFactory[] { new CountAggregatorFactory() }), outDesc,
+                            htSize);
+
+                grouper.setPartitionConstraint(createPartitionConstraint(outSplits));
+
+                // Connect scanner with the grouper
+                IConnectorDescriptor scanGroupConnDef = new MToNHashPartitioningConnectorDescriptor(spec,
+                        new FieldHashPartitionComputerFactory(keys, new IBinaryHashFunctionFactory[] {
+                                // IntegerBinaryHashFunctionFactory.INSTANCE,
+                                IntegerBinaryHashFunctionFactory.INSTANCE }));
+                spec.connect(scanGroupConnDef, fileScanner, 0, grouper, 0);
+        }
+
+        IFileSplitProvider outSplitProvider = new ConstantFileSplitProvider(outSplits);
+
+        AbstractSingleActivityOperatorDescriptor writer;
+
+        if (outPlain)
+            writer = new PlainFileWriterOperatorDescriptor(spec, outSplitProvider, "|");
+        else
+            writer = new FrameFileWriterOperatorDescriptor(spec, outSplitProvider);
+
+        writer.setPartitionConstraint(createPartitionConstraint(outSplits));
+
+        IConnectorDescriptor groupOutConn = new OneToOneConnectorDescriptor(spec);
+        spec.connect(groupOutConn, grouper, 0, writer, 0);
+
+        spec.addRoot(writer);
+        return spec;
+    }
+
+    private static PartitionConstraint createPartitionConstraint(FileSplit[] splits) {
+        LocationConstraint[] lConstraints = new LocationConstraint[splits.length];
+        for (int i = 0; i < splits.length; ++i) {
+            lConstraints[i] = new AbsoluteLocationConstraint(splits[i].getNodeName());
+        }
+        return new ExplicitPartitionConstraint(lConstraints);
+    }
+}
