diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ExternalSortOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ExternalSortOperatorDescriptor.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ExternalSortOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ExternalSortOperatorDescriptor.java
index cca90cf..d4787c2 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ExternalSortOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ExternalSortOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -41,10 +41,10 @@
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.comm.io.FrameTupleAccessor;
 import edu.uci.ics.hyracks.comm.io.FrameTupleAppender;
-import edu.uci.ics.hyracks.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.util.ReferenceEntry;
-import edu.uci.ics.hyracks.coreops.util.ReferencedPriorityQueue;
+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.util.ReferenceEntry;
+import edu.uci.ics.hyracks.dataflow.std.util.ReferencedPriorityQueue;
 
 public class ExternalSortOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final String IN_FRAMES = "inFrames";
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/FieldHashPartitionComputerFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/FieldHashPartitionComputerFactory.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/FieldHashPartitionComputerFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/FieldHashPartitionComputerFactory.java
index 24c277d..952af68 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/FieldHashPartitionComputerFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/FieldHashPartitionComputerFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunction;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/HashDataWriter.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/HashDataWriter.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/HashDataWriter.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/HashDataWriter.java
index 76b2ae4..5e9eef3 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/HashDataWriter.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/HashDataWriter.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/IMapper.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/IMapper.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/IMapper.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/IMapper.java
index aec6135..af32e1d 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/IMapper.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/IMapper.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/IMapperFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/IMapperFactory.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/IMapperFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/IMapperFactory.java
index d73a3fc..05dc203 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/IMapperFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/IMapperFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.io.Serializable;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ITupleAggregator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ITupleAggregator.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ITupleAggregator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ITupleAggregator.java
index c482591..ca3090b 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ITupleAggregator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ITupleAggregator.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ITupleAggregatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ITupleAggregatorFactory.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ITupleAggregatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ITupleAggregatorFactory.java
index 161232b..ae74ce7 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/ITupleAggregatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/ITupleAggregatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.io.Serializable;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/InMemorySortOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/InMemorySortOperatorDescriptor.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/InMemorySortOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/InMemorySortOperatorDescriptor.java
index f33b2b0..4e9fd2c 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/InMemorySortOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/InMemorySortOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
@@ -33,8 +33,8 @@
 import edu.uci.ics.hyracks.comm.io.FrameTupleAccessor;
 import edu.uci.ics.hyracks.comm.io.FrameTupleAppender;
 import edu.uci.ics.hyracks.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
 
 public class InMemorySortOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final String BUFFERS = "buffers";
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNHashPartitioningConnectorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNHashPartitioningConnectorDescriptor.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNHashPartitioningConnectorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNHashPartitioningConnectorDescriptor.java
index 5281042..73a7b32 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNHashPartitioningConnectorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNHashPartitioningConnectorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.comm.IConnectionDemultiplexer;
 import edu.uci.ics.hyracks.api.comm.IFrameReader;
@@ -24,7 +24,7 @@
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.comm.NonDeterministicFrameReader;
-import edu.uci.ics.hyracks.coreops.base.AbstractConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractConnectorDescriptor;
 
 public class MToNHashPartitioningConnectorDescriptor extends AbstractConnectorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNHashPartitioningMergingConnectorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNHashPartitioningMergingConnectorDescriptor.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNHashPartitioningMergingConnectorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNHashPartitioningMergingConnectorDescriptor.java
index ffc42a1..befdc72 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNHashPartitioningMergingConnectorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNHashPartitioningMergingConnectorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.comm.IConnectionDemultiplexer;
 import edu.uci.ics.hyracks.api.comm.IFrameReader;
@@ -26,7 +26,7 @@
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.comm.SortMergeFrameReader;
-import edu.uci.ics.hyracks.coreops.base.AbstractConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractConnectorDescriptor;
 
 public class MToNHashPartitioningMergingConnectorDescriptor extends AbstractConnectorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNRangePartitioningConnectorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNRangePartitioningConnectorDescriptor.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNRangePartitioningConnectorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNRangePartitioningConnectorDescriptor.java
index c9d6ee1..ef82ab3 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNRangePartitioningConnectorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNRangePartitioningConnectorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.io.IOException;
 import java.nio.ByteBuffer;
@@ -28,7 +28,7 @@
 import edu.uci.ics.hyracks.comm.NonDeterministicFrameReader;
 import edu.uci.ics.hyracks.comm.io.FrameTupleAccessor;
 import edu.uci.ics.hyracks.comm.io.FrameTupleAppender;
-import edu.uci.ics.hyracks.coreops.base.AbstractConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractConnectorDescriptor;
 
 public class MToNRangePartitioningConnectorDescriptor extends AbstractConnectorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNReplicatingConnectorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNReplicatingConnectorDescriptor.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNReplicatingConnectorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNReplicatingConnectorDescriptor.java
index 988fb5c..48d598f 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MToNReplicatingConnectorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MToNReplicatingConnectorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.nio.ByteBuffer;
 
@@ -25,7 +25,7 @@
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.comm.NonDeterministicFrameReader;
-import edu.uci.ics.hyracks.coreops.base.AbstractConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractConnectorDescriptor;
 
 public class MToNReplicatingConnectorDescriptor extends AbstractConnectorDescriptor {
     public MToNReplicatingConnectorDescriptor(JobSpecification spec) {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MapperOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MapperOperatorDescriptor.java
similarity index 90%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MapperOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MapperOperatorDescriptor.java
index 59cf71b..f83763a 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MapperOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MapperOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.context.IHyracksContext;
 import edu.uci.ics.hyracks.api.dataflow.IOpenableDataWriter;
@@ -22,9 +22,9 @@
 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.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public class MapperOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
     private class MapperOperator implements IOpenableDataWriterOperator {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MaterializingOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MaterializingOperatorDescriptor.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MaterializingOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MaterializingOperatorDescriptor.java
index 735af5a..77aeed5 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/MaterializingOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/MaterializingOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.io.File;
 import java.io.IOException;
@@ -30,8 +30,8 @@
 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.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
 
 public class MaterializingOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/OneToOneConnectorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/OneToOneConnectorDescriptor.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/OneToOneConnectorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/OneToOneConnectorDescriptor.java
index c2ce792..19e4510 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/OneToOneConnectorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/OneToOneConnectorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.comm.IConnectionDemultiplexer;
 import edu.uci.ics.hyracks.api.comm.IFrameReader;
@@ -23,7 +23,7 @@
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.comm.NonDeterministicFrameReader;
-import edu.uci.ics.hyracks.coreops.base.AbstractConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractConnectorDescriptor;
 
 public class OneToOneConnectorDescriptor extends AbstractConnectorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/PrinterOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/PrinterOperatorDescriptor.java
similarity index 89%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/PrinterOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/PrinterOperatorDescriptor.java
index c378961..b024e8a 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/PrinterOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/PrinterOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.context.IHyracksContext;
 import edu.uci.ics.hyracks.api.dataflow.IOpenableDataWriter;
@@ -21,9 +21,9 @@
 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.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public class PrinterOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/RepartitionComputerFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/RepartitionComputerFactory.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/RepartitionComputerFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/RepartitionComputerFactory.java
index 2dd7092..90cf2cc 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/RepartitionComputerFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/RepartitionComputerFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
 import edu.uci.ics.hyracks.api.dataflow.value.ITuplePartitionComputer;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/SplitVectorOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/SplitVectorOperatorDescriptor.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/SplitVectorOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/SplitVectorOperatorDescriptor.java
index f90eaea..b95ee24 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/SplitVectorOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/SplitVectorOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops;
+package edu.uci.ics.hyracks.dataflow.std;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -28,10 +28,10 @@
 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.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
+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.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public class SplitVectorOperatorDescriptor extends AbstractOperatorDescriptor {
     private class CollectActivity extends AbstractActivityNode {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/ReflectionBasedTupleAggregatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/ReflectionBasedTupleAggregatorFactory.java
similarity index 89%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/ReflectionBasedTupleAggregatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/ReflectionBasedTupleAggregatorFactory.java
index f649e48..05f3b9f 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/ReflectionBasedTupleAggregatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/ReflectionBasedTupleAggregatorFactory.java
@@ -12,11 +12,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.aggregators;
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
 
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.ITupleAggregator;
-import edu.uci.ics.hyracks.coreops.ITupleAggregatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.ITupleAggregator;
+import edu.uci.ics.hyracks.dataflow.std.ITupleAggregatorFactory;
 
 public class ReflectionBasedTupleAggregatorFactory implements
         ITupleAggregatorFactory {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumGroupAggregator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumGroupAggregator.java
similarity index 92%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumGroupAggregator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumGroupAggregator.java
index f489a55..88b38b3 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumGroupAggregator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumGroupAggregator.java
@@ -12,12 +12,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.aggregators;
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataReader;
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.group.IGroupAggregator;
+import edu.uci.ics.hyracks.dataflow.std.group.IGroupAggregator;
 
 public class SumGroupAggregator implements IGroupAggregator {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumStringGroupAggregator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumStringGroupAggregator.java
similarity index 92%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumStringGroupAggregator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumStringGroupAggregator.java
index 7c774d3..dd4e4eb 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumStringGroupAggregator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumStringGroupAggregator.java
@@ -12,12 +12,12 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.aggregators;
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataReader;
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.group.IGroupAggregator;
+import edu.uci.ics.hyracks.dataflow.std.group.IGroupAggregator;
 
 public class SumStringGroupAggregator implements IGroupAggregator {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumTupleAggregator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumTupleAggregator.java
similarity index 91%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumTupleAggregator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumTupleAggregator.java
index cfa512e..87ab523 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/aggregators/SumTupleAggregator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/aggregators/SumTupleAggregator.java
@@ -12,11 +12,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.aggregators;
+package edu.uci.ics.hyracks.dataflow.std.aggregators;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.ITupleAggregator;
+import edu.uci.ics.hyracks.dataflow.std.ITupleAggregator;
 
 public class SumTupleAggregator implements ITupleAggregator {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractActivityNode.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractActivityNode.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractActivityNode.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractActivityNode.java
index b2e39e8..4976230 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractActivityNode.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractActivityNode.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.base;
+package edu.uci.ics.hyracks.dataflow.std.base;
 
 import java.util.UUID;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractConnectorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractConnectorDescriptor.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractConnectorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractConnectorDescriptor.java
index 72dbcbf..aaae486 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractConnectorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractConnectorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.base;
+package edu.uci.ics.hyracks.dataflow.std.base;
 
 import java.util.UUID;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java
index 2e610a9..7d979f9 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.base;
+package edu.uci.ics.hyracks.dataflow.std.base;
 
 import java.util.UUID;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractSingleActivityOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractSingleActivityOperatorDescriptor.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractSingleActivityOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractSingleActivityOperatorDescriptor.java
index 5843f10..018b7b7 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/AbstractSingleActivityOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/AbstractSingleActivityOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.base;
+package edu.uci.ics.hyracks.dataflow.std.base;
 
 import java.util.UUID;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/IOpenableDataWriterOperator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/IOpenableDataWriterOperator.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/IOpenableDataWriterOperator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/IOpenableDataWriterOperator.java
index e6500d6..b802c6f 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/base/IOpenableDataWriterOperator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/base/IOpenableDataWriterOperator.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.base;
+package edu.uci.ics.hyracks.dataflow.std.base;
 
 import edu.uci.ics.hyracks.api.dataflow.IOpenableDataWriter;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatBinaryComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatBinaryComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatBinaryComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatBinaryComparatorFactory.java
index 353d41d..047e7d2 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatBinaryComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatBinaryComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatBinaryHashFunctionFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatBinaryHashFunctionFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatBinaryHashFunctionFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatBinaryHashFunctionFactory.java
index 071ac70..11aca03 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatBinaryHashFunctionFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatBinaryHashFunctionFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunction;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunctionFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatComparatorFactory.java
index 9cbf499..c2a5b9e 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IComparatorFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatHashFunctionFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatHashFunctionFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatHashFunctionFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatHashFunctionFactory.java
index a2831e8..d45f056 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatHashFunctionFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatHashFunctionFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IHashFunction;
 import edu.uci.ics.hyracks.api.dataflow.value.IHashFunctionFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatSerializerDeserializer.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatSerializerDeserializer.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatSerializerDeserializer.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatSerializerDeserializer.java
index 855da0e..a432734 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/FloatSerializerDeserializer.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/FloatSerializerDeserializer.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntArraySerializerDeserializer.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntArraySerializerDeserializer.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntArraySerializerDeserializer.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntArraySerializerDeserializer.java
index 410a6b9..1c83e3d 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntArraySerializerDeserializer.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntArraySerializerDeserializer.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerBinaryComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerBinaryComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerBinaryComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerBinaryComparatorFactory.java
index f020909..77b8446 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerBinaryComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerBinaryComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerBinaryHashFunctionFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerBinaryHashFunctionFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerBinaryHashFunctionFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerBinaryHashFunctionFactory.java
index 38b51a2..50b26d2 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerBinaryHashFunctionFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerBinaryHashFunctionFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunction;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunctionFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerComparatorFactory.java
index 9f4394b..11496e1 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IComparatorFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerHashFunctionFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerHashFunctionFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerHashFunctionFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerHashFunctionFactory.java
index 5785084..0623759 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerHashFunctionFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerHashFunctionFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IHashFunction;
 import edu.uci.ics.hyracks.api.dataflow.value.IHashFunctionFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerSerializerDeserializer.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerSerializerDeserializer.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerSerializerDeserializer.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerSerializerDeserializer.java
index 74de8d3..977d901 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/IntegerSerializerDeserializer.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/IntegerSerializerDeserializer.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringBinaryComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringBinaryComparatorFactory.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringBinaryComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringBinaryComparatorFactory.java
index 54212b6..b5bd118 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringBinaryComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringBinaryComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryComparatorFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringBinaryHashFunctionFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringBinaryHashFunctionFactory.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringBinaryHashFunctionFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringBinaryHashFunctionFactory.java
index 3185442..ff38ce9 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringBinaryHashFunctionFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringBinaryHashFunctionFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunction;
 import edu.uci.ics.hyracks.api.dataflow.value.IBinaryHashFunctionFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringComparatorFactory.java
index d3cbbff..ae8239c 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IComparator;
 import edu.uci.ics.hyracks.api.dataflow.value.IComparatorFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringHashFunctionFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringHashFunctionFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringHashFunctionFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringHashFunctionFactory.java
index c488138..9803dff 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringHashFunctionFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringHashFunctionFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import edu.uci.ics.hyracks.api.dataflow.value.IHashFunction;
 import edu.uci.ics.hyracks.api.dataflow.value.IHashFunctionFactory;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringSerializerDeserializer.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringSerializerDeserializer.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringSerializerDeserializer.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringSerializerDeserializer.java
index 7342f1e..f2db5c0 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringSerializerDeserializer.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringSerializerDeserializer.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringUtils.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringUtils.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringUtils.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringUtils.java
index 36a7ed6..1c6a964 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/data/StringUtils.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/data/StringUtils.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.data;
+package edu.uci.ics.hyracks.dataflow.std.data;
 
 public class StringUtils {
     public static int charSize(byte[] b, int s) {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/AbstractFileScanOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/AbstractFileScanOperatorDescriptor.java
similarity index 92%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/AbstractFileScanOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/AbstractFileScanOperatorDescriptor.java
index b862e16..43d821c 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/AbstractFileScanOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/AbstractFileScanOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.File;
 
@@ -24,9 +24,9 @@
 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.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public abstract class AbstractFileScanOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/AbstractFileWriteOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java
similarity index 91%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/AbstractFileWriteOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java
index 84e30d3..76fef14 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/AbstractFileWriteOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/AbstractFileWriteOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.File;
 
@@ -23,9 +23,9 @@
 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.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public abstract class AbstractFileWriteOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
     protected class FileWriteOperator implements IOpenableDataWriterOperator {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/CSVFileScanOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/CSVFileScanOperatorDescriptor.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/CSVFileScanOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/CSVFileScanOperatorDescriptor.java
index efcb8c8..54724a4 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/CSVFileScanOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/CSVFileScanOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.BufferedReader;
 import java.io.File;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/FileSplit.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/FileSplit.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/FileSplit.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/FileSplit.java
index 361afca..004499a 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/FileSplit.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/FileSplit.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.File;
 import java.io.Serializable;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/IRecordReader.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/IRecordReader.java
similarity index 93%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/IRecordReader.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/IRecordReader.java
index 607c637..4516c8d 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/IRecordReader.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/IRecordReader.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 public interface IRecordReader {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/IRecordWriter.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/IRecordWriter.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/IRecordWriter.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/IRecordWriter.java
index a270f86..a319727 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/IRecordWriter.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/IRecordWriter.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.File;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/LineFileScanOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/LineFileScanOperatorDescriptor.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/LineFileScanOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/LineFileScanOperatorDescriptor.java
index c2e5a3b..19c4ba9 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/LineFileScanOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/LineFileScanOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.BufferedReader;
 import java.io.File;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/LineFileWriteOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/LineFileWriteOperatorDescriptor.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/LineFileWriteOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/LineFileWriteOperatorDescriptor.java
index 5e7bfef..54fce9d 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/LineFileWriteOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/LineFileWriteOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.BufferedWriter;
 import java.io.File;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordFileScanOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordFileScanOperatorDescriptor.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordFileScanOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordFileScanOperatorDescriptor.java
index 9df04f9..9dd223e 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordFileScanOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordFileScanOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.BufferedInputStream;
 import java.io.DataInputStream;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordReader.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordReader.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordReader.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordReader.java
index 63f8f7e..2064cc2 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordReader.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordReader.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.BufferedReader;
 import java.io.IOException;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordWriter.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordWriter.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordWriter.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordWriter.java
index f92686d..1c52b25 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/file/RecordWriter.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/file/RecordWriter.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.file;
+package edu.uci.ics.hyracks.dataflow.std.file;
 
 import java.io.BufferedReader;
 import java.io.BufferedWriter;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/GroupingHashTable.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/GroupingHashTable.java
similarity index 99%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/GroupingHashTable.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/GroupingHashTable.java
index faa6ac4..784975f 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/GroupingHashTable.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/GroupingHashTable.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/HashGroupOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/HashGroupOperatorDescriptor.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/HashGroupOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/HashGroupOperatorDescriptor.java
index 6e91c7d..2d5d852 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/HashGroupOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/HashGroupOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import java.nio.ByteBuffer;
 
@@ -29,8 +29,8 @@
 import edu.uci.ics.hyracks.api.job.IOperatorEnvironment;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
 import edu.uci.ics.hyracks.comm.io.FrameTupleAccessor;
-import edu.uci.ics.hyracks.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
 
 public class HashGroupOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final String HASHTABLE = "hashtable";
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IAccumulatingAggregator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregator.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IAccumulatingAggregator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregator.java
index ac1dc13..83ae684 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IAccumulatingAggregator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregator.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import edu.uci.ics.hyracks.api.comm.IFrameTupleAccessor;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IAccumulatingAggregatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IAccumulatingAggregatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java
index e5c935c..d745eff 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IAccumulatingAggregatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IAccumulatingAggregatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import java.io.Serializable;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IGroupAggregator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IGroupAggregator.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IGroupAggregator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IGroupAggregator.java
index 69a0f47..7e2ba4b 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/IGroupAggregator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/IGroupAggregator.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import java.io.Serializable;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/PreclusteredGroupOperator.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/PreclusteredGroupOperator.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/PreclusteredGroupOperator.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/PreclusteredGroupOperator.java
index 4af62dc..637d8f0 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/PreclusteredGroupOperator.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/PreclusteredGroupOperator.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -21,7 +21,7 @@
 import edu.uci.ics.hyracks.api.dataflow.IOpenableDataWriter;
 import edu.uci.ics.hyracks.api.dataflow.value.IComparator;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
 
 public class PreclusteredGroupOperator implements IOpenableDataWriterOperator {
     private final int[] groupFields;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/PreclusteredGroupOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/PreclusteredGroupOperatorDescriptor.java
similarity index 91%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/PreclusteredGroupOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/PreclusteredGroupOperatorDescriptor.java
index acfdafe..d4cd57c 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/group/PreclusteredGroupOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/group/PreclusteredGroupOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.group;
+package edu.uci.ics.hyracks.dataflow.std.group;
 
 import edu.uci.ics.hyracks.api.context.IHyracksContext;
 import edu.uci.ics.hyracks.api.dataflow.IOperatorNodePushable;
@@ -22,8 +22,8 @@
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
 import edu.uci.ics.hyracks.api.job.IOperatorEnvironment;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public class PreclusteredGroupOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
     private final int[] groupFields;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/AbstractHadoopFileScanOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/AbstractHadoopFileScanOperatorDescriptor.java
similarity index 91%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/AbstractHadoopFileScanOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/AbstractHadoopFileScanOperatorDescriptor.java
index 064743d..ab20332 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/AbstractHadoopFileScanOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/AbstractHadoopFileScanOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop;
+package edu.uci.ics.hyracks.dataflow.std.hadoop;
 
 import org.apache.hadoop.mapred.Counters.Counter;
 import org.apache.hadoop.mapred.InputSplit;
@@ -26,11 +26,11 @@
 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.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.file.IRecordReader;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
-import edu.uci.ics.hyracks.hadoop.util.HadoopFileSplit;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.file.IRecordReader;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.HadoopFileSplit;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public abstract class AbstractHadoopFileScanOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/AbstractHadoopOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/AbstractHadoopOperatorDescriptor.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/AbstractHadoopOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/AbstractHadoopOperatorDescriptor.java
index 4724d80..0553090 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/AbstractHadoopOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/AbstractHadoopOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop;
+package edu.uci.ics.hyracks.dataflow.std.hadoop;
 
 import java.io.File;
 import java.io.IOException;
@@ -35,9 +35,9 @@
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.base.AbstractSingleActivityOperatorDescriptor;
-import edu.uci.ics.hyracks.hadoop.util.DatatypeHelper;
-import edu.uci.ics.hyracks.hadoop.util.IHadoopClassFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractSingleActivityOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.DatatypeHelper;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.IHadoopClassFactory;
 
 public abstract class AbstractHadoopOperatorDescriptor extends AbstractSingleActivityOperatorDescriptor {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HDFSWriteOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HDFSWriteOperatorDescriptor.java
similarity index 93%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HDFSWriteOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HDFSWriteOperatorDescriptor.java
index f2487f9..8357534 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HDFSWriteOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HDFSWriteOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop;
+package edu.uci.ics.hyracks.dataflow.std.hadoop;
 
 import java.io.File;
 import java.io.IOException;
@@ -37,11 +37,11 @@
 import org.apache.hadoop.mapred.JobConf;
 
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.file.AbstractFileWriteOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.file.FileSplit;
-import edu.uci.ics.hyracks.coreops.file.IRecordWriter;
-import edu.uci.ics.hyracks.coreops.file.RecordWriter;
-import edu.uci.ics.hyracks.hadoop.util.DatatypeHelper;
+import edu.uci.ics.hyracks.dataflow.std.file.AbstractFileWriteOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.file.IRecordWriter;
+import edu.uci.ics.hyracks.dataflow.std.file.RecordWriter;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.DatatypeHelper;
 
 
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopMapperOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopMapperOperatorDescriptor.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopMapperOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopMapperOperatorDescriptor.java
index 0e81de7..6f982ed 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopMapperOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopMapperOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop;
+package edu.uci.ics.hyracks.dataflow.std.hadoop;
 
 import java.io.IOException;
 
@@ -30,10 +30,10 @@
 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.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
-import edu.uci.ics.hyracks.hadoop.util.DatatypeHelper;
-import edu.uci.ics.hyracks.hadoop.util.IHadoopClassFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.DatatypeHelper;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.IHadoopClassFactory;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public class HadoopMapperOperatorDescriptor<K1, V1, K2, V2> extends AbstractHadoopOperatorDescriptor {
     private class MapperOperator implements IOpenableDataWriterOperator {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopReadOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopReadOperatorDescriptor.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopReadOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopReadOperatorDescriptor.java
index b5fc1ac..fbdb630 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopReadOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopReadOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop;
+package edu.uci.ics.hyracks.dataflow.std.hadoop;
 
 import java.io.IOException;
 import java.net.InetAddress;
@@ -43,10 +43,10 @@
 import edu.uci.ics.hyracks.config.NCConfig;
 import edu.uci.ics.hyracks.controller.clustercontroller.IClusterController;
 import edu.uci.ics.hyracks.controller.nodecontroller.INodeController;
-import edu.uci.ics.hyracks.coreops.file.IRecordReader;
-import edu.uci.ics.hyracks.hadoop.util.DatatypeHelper;
-import edu.uci.ics.hyracks.hadoop.util.HadoopAdapter;
-import edu.uci.ics.hyracks.hadoop.util.HadoopFileSplit;
+import edu.uci.ics.hyracks.dataflow.std.file.IRecordReader;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.DatatypeHelper;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.HadoopAdapter;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.HadoopFileSplit;
 
 public class HadoopReadOperatorDescriptor extends AbstractHadoopFileScanOperatorDescriptor {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopReducerOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopReducerOperatorDescriptor.java
similarity index 92%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopReducerOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopReducerOperatorDescriptor.java
index 95bfaea..d17af31 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/HadoopReducerOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/HadoopReducerOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop;
+package edu.uci.ics.hyracks.dataflow.std.hadoop;
 
 import java.io.IOException;
 import java.util.Iterator;
@@ -39,15 +39,15 @@
 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.coreops.base.IOpenableDataWriterOperator;
-import edu.uci.ics.hyracks.coreops.group.IGroupAggregator;
-import edu.uci.ics.hyracks.coreops.group.PreclusteredGroupOperator;
-import edu.uci.ics.hyracks.coreops.hadoop.data.KeyComparatorFactory;
-import edu.uci.ics.hyracks.coreops.hadoop.data.WritableComparingComparatorFactory;
-import edu.uci.ics.hyracks.coreops.util.DeserializedOperatorNodePushable;
-import edu.uci.ics.hyracks.hadoop.util.ClasspathBasedHadoopClassFactory;
-import edu.uci.ics.hyracks.hadoop.util.DatatypeHelper;
-import edu.uci.ics.hyracks.hadoop.util.IHadoopClassFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.group.IGroupAggregator;
+import edu.uci.ics.hyracks.dataflow.std.group.PreclusteredGroupOperator;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.data.KeyComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.data.WritableComparingComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.ClasspathBasedHadoopClassFactory;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.DatatypeHelper;
+import edu.uci.ics.hyracks.dataflow.std.hadoop.util.IHadoopClassFactory;
+import edu.uci.ics.hyracks.dataflow.std.util.DeserializedOperatorNodePushable;
 
 public class HadoopReducerOperatorDescriptor<K2, V2, K3, V3> extends AbstractHadoopOperatorDescriptor {
     private class ReducerAggregator implements IGroupAggregator {
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/AbstractClassBasedDelegate.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/AbstractClassBasedDelegate.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/AbstractClassBasedDelegate.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/AbstractClassBasedDelegate.java
index afc8ccb..813bd0a 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/AbstractClassBasedDelegate.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/AbstractClassBasedDelegate.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import java.io.ObjectStreamException;
 import java.io.Serializable;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/HadoopHashTuplePartitionComputerFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/HadoopHashTuplePartitionComputerFactory.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/HadoopHashTuplePartitionComputerFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/HadoopHashTuplePartitionComputerFactory.java
index 501a224..717c1e3 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/HadoopHashTuplePartitionComputerFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/HadoopHashTuplePartitionComputerFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import java.io.DataInputStream;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/HadoopPartitionerTuplePartitionComputerFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/HadoopPartitionerTuplePartitionComputerFactory.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/HadoopPartitionerTuplePartitionComputerFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/HadoopPartitionerTuplePartitionComputerFactory.java
index 5c97ba8..9d0e17b 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/HadoopPartitionerTuplePartitionComputerFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/HadoopPartitionerTuplePartitionComputerFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import java.io.DataInputStream;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/KeyBinaryComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/KeyBinaryComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/KeyBinaryComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/KeyBinaryComparatorFactory.java
index 8b16fc4..cbe7b18 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/KeyBinaryComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/KeyBinaryComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import org.apache.hadoop.io.RawComparator;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/KeyComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/KeyComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/KeyComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/KeyComparatorFactory.java
index 9f48251..4d840e9 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/KeyComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/KeyComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import org.apache.hadoop.io.RawComparator;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/WritableComparingBinaryComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/WritableComparingBinaryComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/WritableComparingBinaryComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/WritableComparingBinaryComparatorFactory.java
index b633742..ade8389 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/WritableComparingBinaryComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/WritableComparingBinaryComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import org.apache.hadoop.io.WritableComparator;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/WritableComparingComparatorFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/WritableComparingComparatorFactory.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/WritableComparingComparatorFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/WritableComparingComparatorFactory.java
index c53abcc..1fc8eb2 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/hadoop/data/WritableComparingComparatorFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/data/WritableComparingComparatorFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.hadoop.data;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.data;
 
 import org.apache.hadoop.io.WritableComparable;
 import org.apache.hadoop.io.WritableComparator;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/ClasspathBasedHadoopClassFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/ClasspathBasedHadoopClassFactory.java
similarity index 95%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/ClasspathBasedHadoopClassFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/ClasspathBasedHadoopClassFactory.java
index e15ef8c..3a9833c 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/ClasspathBasedHadoopClassFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/ClasspathBasedHadoopClassFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import org.apache.hadoop.mapred.Mapper;
 import org.apache.hadoop.mapred.Reducer;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/DatatypeHelper.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/DatatypeHelper.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/DatatypeHelper.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/DatatypeHelper.java
index 199bd8d..3097aaf 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/DatatypeHelper.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/DatatypeHelper.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import java.io.DataInput;
 import java.io.DataOutput;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/DuplicateKeyMapper.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/DuplicateKeyMapper.java
similarity index 90%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/DuplicateKeyMapper.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/DuplicateKeyMapper.java
index 3d15d58..08020e0 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/DuplicateKeyMapper.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/DuplicateKeyMapper.java
@@ -12,13 +12,13 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import java.util.Properties;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.IMapper;
+import edu.uci.ics.hyracks.dataflow.std.IMapper;
 
 public class DuplicateKeyMapper implements IMapper {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/HadoopAdapter.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/HadoopAdapter.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/HadoopAdapter.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/HadoopAdapter.java
index a6edfc4..b8c4911 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/HadoopAdapter.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/HadoopAdapter.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import java.io.File;
 import java.io.IOException;
@@ -35,7 +35,7 @@
 import org.apache.hadoop.mapred.JobConf;
 import org.apache.hadoop.util.StringUtils;
 
-import edu.uci.ics.hyracks.coreops.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
 
 public class HadoopAdapter {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/HadoopFileSplit.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/HadoopFileSplit.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/HadoopFileSplit.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/HadoopFileSplit.java
index 6f3810c..2e0df99 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/HadoopFileSplit.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/HadoopFileSplit.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import java.io.Serializable;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/IHadoopClassFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/IHadoopClassFactory.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/IHadoopClassFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/IHadoopClassFactory.java
index c4f1d3c..8502a55 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/IHadoopClassFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/IHadoopClassFactory.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import java.io.Serializable;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/PreappendLongWritableMapper.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/PreappendLongWritableMapper.java
similarity index 91%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/PreappendLongWritableMapper.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/PreappendLongWritableMapper.java
index e561522..69573c8 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/hadoop/util/PreappendLongWritableMapper.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/hadoop/util/PreappendLongWritableMapper.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.hadoop.util;
+package edu.uci.ics.hyracks.dataflow.std.hadoop.util;
 
 import java.util.Properties;
 
@@ -21,7 +21,7 @@
 
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.IMapper;
+import edu.uci.ics.hyracks.dataflow.std.IMapper;
 
 public class PreappendLongWritableMapper implements IMapper {
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/GraceHashJoinOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/GraceHashJoinOperatorDescriptor.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/GraceHashJoinOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/GraceHashJoinOperatorDescriptor.java
index c9605e6..42916f7 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/GraceHashJoinOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/GraceHashJoinOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.join;
+package edu.uci.ics.hyracks.dataflow.std.join;
 
 import java.io.File;
 import java.io.IOException;
@@ -38,10 +38,10 @@
 import edu.uci.ics.hyracks.comm.io.FrameTupleAppender;
 import edu.uci.ics.hyracks.comm.io.FrameTuplePairComparator;
 import edu.uci.ics.hyracks.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.coreops.FieldHashPartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.RepartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.RepartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
 
 public class GraceHashJoinOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final String SMALLRELATION = "RelR";
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/HybridHashJoinOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/HybridHashJoinOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
index 82f4506..cc58ff0 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/HybridHashJoinOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/HybridHashJoinOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.join;
+package edu.uci.ics.hyracks.dataflow.std.join;
 
 import java.io.File;
 import java.io.IOException;
@@ -39,10 +39,10 @@
 import edu.uci.ics.hyracks.comm.io.FrameTupleAppender;
 import edu.uci.ics.hyracks.comm.io.FrameTuplePairComparator;
 import edu.uci.ics.hyracks.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.coreops.FieldHashPartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.RepartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.RepartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
 
 public class HybridHashJoinOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final String JOINER0 = "joiner0";
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/InMemoryHashJoin.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/InMemoryHashJoin.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/InMemoryHashJoin.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/InMemoryHashJoin.java
index ab896fa..4a12563 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/InMemoryHashJoin.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/InMemoryHashJoin.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.join;
+package edu.uci.ics.hyracks.dataflow.std.join;
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/InMemoryHashJoinOperatorDescriptor.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/InMemoryHashJoinOperatorDescriptor.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
index cc1cdb7..fec37b1 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/join/InMemoryHashJoinOperatorDescriptor.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/join/InMemoryHashJoinOperatorDescriptor.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.join;
+package edu.uci.ics.hyracks.dataflow.std.join;
 
 import java.nio.ByteBuffer;
 
@@ -33,9 +33,9 @@
 import edu.uci.ics.hyracks.comm.io.FrameTupleAccessor;
 import edu.uci.ics.hyracks.comm.io.FrameTuplePairComparator;
 import edu.uci.ics.hyracks.comm.util.FrameUtils;
-import edu.uci.ics.hyracks.coreops.FieldHashPartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.base.AbstractActivityNode;
-import edu.uci.ics.hyracks.coreops.base.AbstractOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractActivityNode;
+import edu.uci.ics.hyracks.dataflow.std.base.AbstractOperatorDescriptor;
 
 public class InMemoryHashJoinOperatorDescriptor extends AbstractOperatorDescriptor {
     private static final String JOINER = "joiner";
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/map/ReflectionBasedMapperFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/map/ReflectionBasedMapperFactory.java
similarity index 89%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/map/ReflectionBasedMapperFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/map/ReflectionBasedMapperFactory.java
index c284ff1..3001aea 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/map/ReflectionBasedMapperFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/map/ReflectionBasedMapperFactory.java
@@ -12,11 +12,11 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.map;
+package edu.uci.ics.hyracks.dataflow.std.map;
 
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.IMapper;
-import edu.uci.ics.hyracks.coreops.IMapperFactory;
+import edu.uci.ics.hyracks.dataflow.std.IMapper;
+import edu.uci.ics.hyracks.dataflow.std.IMapperFactory;
 
 public class ReflectionBasedMapperFactory implements IMapperFactory {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/map/SamplerMapFactory.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/map/SamplerMapFactory.java
similarity index 90%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/map/SamplerMapFactory.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/map/SamplerMapFactory.java
index 44541a1..9c8a5d7 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/map/SamplerMapFactory.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/map/SamplerMapFactory.java
@@ -12,14 +12,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.map;
+package edu.uci.ics.hyracks.dataflow.std.map;
 
 import java.util.Random;
 
 import edu.uci.ics.hyracks.api.dataflow.IDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
-import edu.uci.ics.hyracks.coreops.IMapper;
-import edu.uci.ics.hyracks.coreops.IMapperFactory;
+import edu.uci.ics.hyracks.dataflow.std.IMapper;
+import edu.uci.ics.hyracks.dataflow.std.IMapperFactory;
 
 public class SamplerMapFactory implements IMapperFactory {
     private static final long serialVersionUID = 1L;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/DeserializedOperatorNodePushable.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/DeserializedOperatorNodePushable.java
similarity index 94%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/DeserializedOperatorNodePushable.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/DeserializedOperatorNodePushable.java
index 58f6a9f..fe48e3c 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/DeserializedOperatorNodePushable.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/DeserializedOperatorNodePushable.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.util;
+package edu.uci.ics.hyracks.dataflow.std.util;
 
 import java.nio.ByteBuffer;
 
@@ -23,7 +23,7 @@
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
 import edu.uci.ics.hyracks.comm.io.FrameDeserializer;
 import edu.uci.ics.hyracks.comm.io.SerializingDataWriter;
-import edu.uci.ics.hyracks.coreops.base.IOpenableDataWriterOperator;
+import edu.uci.ics.hyracks.dataflow.std.base.IOpenableDataWriterOperator;
 
 public final class DeserializedOperatorNodePushable implements IOperatorNodePushable {
     private final IHyracksContext ctx;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/ReferenceEntry.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/ReferenceEntry.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/ReferenceEntry.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/ReferenceEntry.java
index 025747d..e237238 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/ReferenceEntry.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/ReferenceEntry.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.util;
+package edu.uci.ics.hyracks.dataflow.std.util;
 
 import edu.uci.ics.hyracks.comm.io.FrameTupleAccessor;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/ReferencedPriorityQueue.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/ReferencedPriorityQueue.java
similarity index 98%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/ReferencedPriorityQueue.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/ReferencedPriorityQueue.java
index 5f7dc54..a99a53a 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/ReferencedPriorityQueue.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/ReferencedPriorityQueue.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.util;
+package edu.uci.ics.hyracks.dataflow.std.util;
 
 import java.io.IOException;
 import java.util.BitSet;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBuffer.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBuffer.java
similarity index 97%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBuffer.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBuffer.java
index f1d3d3c..a8ac4c2 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBuffer.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBuffer.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.util;
+package edu.uci.ics.hyracks.dataflow.std.util;
 
 import java.util.Collection;
 
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBufferDataReader.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBufferDataReader.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBufferDataReader.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBufferDataReader.java
index 7599bdc..b218024 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBufferDataReader.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBufferDataReader.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.util;
+package edu.uci.ics.hyracks.dataflow.std.util;
 
 import edu.uci.ics.hyracks.api.dataflow.IOpenableDataReader;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
diff --git a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBufferDataWriter.java b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBufferDataWriter.java
similarity index 96%
rename from hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBufferDataWriter.java
rename to hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBufferDataWriter.java
index 311ea57..05d3360 100644
--- a/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/coreops/util/SynchronizedBoundedBufferDataWriter.java
+++ b/hyracks/hyracks-core/src/main/java/edu/uci/ics/hyracks/dataflow/std/util/SynchronizedBoundedBufferDataWriter.java
@@ -12,7 +12,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package edu.uci.ics.hyracks.coreops.util;
+package edu.uci.ics.hyracks.dataflow.std.util;
 
 import edu.uci.ics.hyracks.api.dataflow.IOpenableDataWriter;
 import edu.uci.ics.hyracks.api.exceptions.HyracksDataException;
diff --git a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/comm/SerializationDeserializationTest.java b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/comm/SerializationDeserializationTest.java
index 92f53af..ba1d089 100644
--- a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/comm/SerializationDeserializationTest.java
+++ b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/comm/SerializationDeserializationTest.java
@@ -34,8 +34,8 @@
 import edu.uci.ics.hyracks.comm.io.FrameDeserializingDataReader;
 import edu.uci.ics.hyracks.comm.io.SerializingDataWriter;
 import edu.uci.ics.hyracks.context.HyracksContext;
-import edu.uci.ics.hyracks.coreops.data.IntegerSerializerDeserializer;
-import edu.uci.ics.hyracks.coreops.data.StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.std.data.IntegerSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.std.data.StringSerializerDeserializer;
 
 public class SerializationDeserializationTest {
     private static final String DBLP_FILE = "data/dblp.txt";
diff --git a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/CountOfCountsTest.java b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/CountOfCountsTest.java
index b7c2e57..5441513 100644
--- a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/CountOfCountsTest.java
+++ b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/CountOfCountsTest.java
@@ -29,21 +29,21 @@
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.ExternalSortOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.FieldHashPartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.InMemorySortOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.MToNHashPartitioningConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.MToNReplicatingConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.OneToOneConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.PrinterOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.aggregators.SumStringGroupAggregator;
-import edu.uci.ics.hyracks.coreops.data.StringBinaryComparatorFactory;
-import edu.uci.ics.hyracks.coreops.data.StringBinaryHashFunctionFactory;
-import edu.uci.ics.hyracks.coreops.data.StringComparatorFactory;
-import edu.uci.ics.hyracks.coreops.data.StringSerializerDeserializer;
-import edu.uci.ics.hyracks.coreops.file.CSVFileScanOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.file.FileSplit;
-import edu.uci.ics.hyracks.coreops.group.PreclusteredGroupOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.ExternalSortOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.InMemorySortOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.MToNHashPartitioningConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.MToNReplicatingConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.OneToOneConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.PrinterOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.aggregators.SumStringGroupAggregator;
+import edu.uci.ics.hyracks.dataflow.std.data.StringBinaryComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.std.file.CSVFileScanOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.group.PreclusteredGroupOperatorDescriptor;
 
 public class CountOfCountsTest extends AbstractIntegrationTest {
     @Test
diff --git a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/ScanPrintTest.java b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/ScanPrintTest.java
index 24d45fa..ebb4d8a 100644
--- a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/ScanPrintTest.java
+++ b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/ScanPrintTest.java
@@ -26,11 +26,11 @@
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.OneToOneConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.PrinterOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.data.StringSerializerDeserializer;
-import edu.uci.ics.hyracks.coreops.file.CSVFileScanOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.OneToOneConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.PrinterOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.data.StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.std.file.CSVFileScanOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
 
 public class ScanPrintTest extends AbstractIntegrationTest {
     @Test
diff --git a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/SortMergeTest.java b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/SortMergeTest.java
index 0b19cea..6ba4d2d 100644
--- a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/SortMergeTest.java
+++ b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/SortMergeTest.java
@@ -27,16 +27,16 @@
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.FieldHashPartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.InMemorySortOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.MToNHashPartitioningMergingConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.OneToOneConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.PrinterOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.data.StringBinaryComparatorFactory;
-import edu.uci.ics.hyracks.coreops.data.StringBinaryHashFunctionFactory;
-import edu.uci.ics.hyracks.coreops.data.StringSerializerDeserializer;
-import edu.uci.ics.hyracks.coreops.file.CSVFileScanOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.InMemorySortOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.MToNHashPartitioningMergingConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.OneToOneConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.PrinterOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.data.StringBinaryComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.std.file.CSVFileScanOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
 
 public class SortMergeTest extends AbstractIntegrationTest {
     @Test
diff --git a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/TPCHCustomerOrderHashJoinTest.java b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/TPCHCustomerOrderHashJoinTest.java
index bb8ac82..4030717 100644
--- a/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/TPCHCustomerOrderHashJoinTest.java
+++ b/hyracks/hyracks-core/src/test/java/edu/uci/ics/hyracks/tests/integration/TPCHCustomerOrderHashJoinTest.java
@@ -29,20 +29,20 @@
 import edu.uci.ics.hyracks.api.dataflow.value.ISerializerDeserializer;
 import edu.uci.ics.hyracks.api.dataflow.value.RecordDescriptor;
 import edu.uci.ics.hyracks.api.job.JobSpecification;
-import edu.uci.ics.hyracks.coreops.FieldHashPartitionComputerFactory;
-import edu.uci.ics.hyracks.coreops.MToNHashPartitioningConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.MToNReplicatingConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.MaterializingOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.OneToOneConnectorDescriptor;
-import edu.uci.ics.hyracks.coreops.PrinterOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.data.StringBinaryComparatorFactory;
-import edu.uci.ics.hyracks.coreops.data.StringBinaryHashFunctionFactory;
-import edu.uci.ics.hyracks.coreops.data.StringSerializerDeserializer;
-import edu.uci.ics.hyracks.coreops.file.CSVFileScanOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.file.FileSplit;
-import edu.uci.ics.hyracks.coreops.join.GraceHashJoinOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.join.HybridHashJoinOperatorDescriptor;
-import edu.uci.ics.hyracks.coreops.join.InMemoryHashJoinOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.FieldHashPartitionComputerFactory;
+import edu.uci.ics.hyracks.dataflow.std.MToNHashPartitioningConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.MToNReplicatingConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.MaterializingOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.OneToOneConnectorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.PrinterOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.data.StringBinaryComparatorFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringBinaryHashFunctionFactory;
+import edu.uci.ics.hyracks.dataflow.std.data.StringSerializerDeserializer;
+import edu.uci.ics.hyracks.dataflow.std.file.CSVFileScanOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.file.FileSplit;
+import edu.uci.ics.hyracks.dataflow.std.join.GraceHashJoinOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.join.HybridHashJoinOperatorDescriptor;
+import edu.uci.ics.hyracks.dataflow.std.join.InMemoryHashJoinOperatorDescriptor;
 
 public class TPCHCustomerOrderHashJoinTest extends AbstractIntegrationTest {
     /*
