diff --git a/asterix-dist/pom.xml b/asterix-dist/pom.xml
new file mode 100644
index 0000000..2ac2ed9
--- /dev/null
+++ b/asterix-dist/pom.xml
@@ -0,0 +1,54 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+  <modelVersion>4.0.0</modelVersion>
+  <artifactId>asterix-dist</artifactId>
+  <parent>
+    <groupId>edu.uci.ics.asterix</groupId>
+    <artifactId>asterix</artifactId>
+    <version>0.0.4-SNAPSHOT</version>
+  </parent>
+
+  <build>
+    <plugins>
+      <plugin>
+        <artifactId>maven-assembly-plugin</artifactId>
+        <version>2.2-beta-5</version>
+        <executions>
+          <execution>
+            <configuration>
+              <descriptors>
+                <descriptor>src/main/assembly/binary-assembly.xml</descriptor>
+              </descriptors>
+            </configuration>
+            <phase>package</phase>
+            <goals>
+              <goal>attached</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
+    </plugins>
+  </build>
+  <dependencies>
+    <dependency>
+	  <groupId>edu.uci.ics.hyracks</groupId>
+  	  <artifactId>hyracks-server</artifactId>
+  	  <version>0.2.0-SNAPSHOT</version>
+  	  <type>zip</type>
+      <classifier>binary-assembly</classifier>
+    </dependency>
+    <dependency>
+	  <groupId>edu.uci.ics.hyracks</groupId>
+  	  <artifactId>hyracks-cli</artifactId>
+  	  <version>0.2.0-SNAPSHOT</version>
+  	  <type>zip</type>
+      <classifier>binary-assembly</classifier>
+    </dependency>
+    <dependency>
+	  <groupId>edu.uci.ics.asterix</groupId>
+  	  <artifactId>asterix-app</artifactId>
+  	  <version>0.0.4-SNAPSHOT</version>
+  	  <type>zip</type>
+      <classifier>binary-assembly</classifier>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/asterix-dist/src/main/assembly/binary-assembly.xml b/asterix-dist/src/main/assembly/binary-assembly.xml
new file mode 100644
index 0000000..ecf6d32
--- /dev/null
+++ b/asterix-dist/src/main/assembly/binary-assembly.xml
@@ -0,0 +1,48 @@
+<assembly>
+  <id>binary-assembly</id>
+  <formats>
+    <format>zip</format>
+    <format>dir</format>
+  </formats>
+  <includeBaseDirectory>false</includeBaseDirectory>
+  <fileSets>
+    <fileSet>
+      <directory>src/main/scripts</directory>
+      <outputDirectory>.</outputDirectory>
+    </fileSet>
+  </fileSets>
+  <dependencySets>
+    <dependencySet>
+      <outputDirectory>hyracks-server</outputDirectory>
+      <includes>
+        <include>hyracks-server*</include>
+      </includes>
+      <unpack>true</unpack>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+    </dependencySet>
+    <dependencySet>
+      <outputDirectory>hyracks-cli</outputDirectory>
+      <includes>
+        <include>hyracks-cli*</include>
+      </includes>
+      <unpack>true</unpack>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+    </dependencySet>
+    <dependencySet>
+      <outputDirectory>asterix</outputDirectory>
+      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
+      <includes>
+        <include>asterix-app*</include>
+      </includes>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+    </dependencySet>
+    <!--dependencySet>
+      <outputDirectory>archives</outputDirectory>
+      <outputFileNameMapping>${artifact.artifactId}.${artifact.extension}</outputFileNameMapping>
+      <excludes>
+        <exclude>asterix-dist*</exclude>
+      </excludes>
+      <useTransitiveDependencies>false</useTransitiveDependencies>
+    </dependencySet-->
+  </dependencySets>
+</assembly>
diff --git a/asterix-dist/src/main/scripts/startasterix.sh b/asterix-dist/src/main/scripts/startasterix.sh
new file mode 100644
index 0000000..b84834f
--- /dev/null
+++ b/asterix-dist/src/main/scripts/startasterix.sh
@@ -0,0 +1,79 @@
+#!/bin/bash
+
+# Logging output for the CC and NCs is directed to their appropriately named
+# files in LOG_HOME
+#
+# Example usage: ./runasterix.sh 4
+# Loads 1 CC, 4 NCs (nc0, nc1, nc2, and nc3)
+#
+
+BASEDIR=`pwd`/$(dirname $0)
+echo "Base dir: " ${BASEDIR}
+
+ASTERIX_BIN=${BASEDIR}/asterix/asterix-app.zip
+HYRACKS_SERVER_BIN=${BASEDIR}/hyracks-server/bin
+HYRACKS_CLI_BIN=${BASEDIR}/hyracks-cli/bin
+
+CONFIG_DIR=${BASEDIR}/config
+LOG_DIR=${BASEDIR}/log
+
+mkdir ${LOG_DIR} ${CONFIG_DIR}
+
+CONFIG_NAME=local-autogen.properties	        # name of config file to generate
+
+# check existence of directories
+dirs=($HYRACKS_SERVER_BIN $HYRACKS_CLI_BIN $LOG_DIR $CONFIG_DIR)
+for i in  "${dirs[@]}"
+do
+    if [ ! -d "$i" ]
+    then
+	    printf "Error: invalid directory layout -- can't access $i\n" >&2
+	    exit 2
+    fi
+done
+
+# set number of node controllers to load
+if [ "$1" == "" ]
+then
+	numnc=1
+else
+	if echo $1 | egrep -q '^[0-9]+$'; then
+		numnc=$1
+	else
+		printf "Error: $1 is not a number.\n" >&2
+		printf "usage: %s [number_of_ncs]\n" $(basename $0) >&2
+		exit 2
+	fi
+fi
+
+# generate a suitable config file
+echo "generating config file..."
+printf "MetadataNode=nc1\nNewUniverse=true\n" > $CONFIG_DIR/$CONFIG_NAME
+for ((i=1;i<=$numnc;i++)); do
+    echo "nc$i.stores=/tmp/nc$i/" >> $CONFIG_DIR/$CONFIG_NAME
+done
+echo "OutputDir=/tmp/asterix_output/" >> $CONFIG_DIR/$CONFIG_NAME
+
+# point to the config file and give java some extra memory
+export CLASSPATH_PREFIX=$CONFIG_DIR
+export JAVA_OPTS="-DAsterixConfigFileName=$CONFIG_NAME -Xms256m -Xmx512m"
+
+echo "cluster controller starting..."
+sh $HYRACKS_SERVER_BIN/hyrackscc -cc-root localhost -client-net-ip-address 127.0.0.1 -cluster-net-ip-address 127.0.0.1 &> $LOG_DIR/cc.log &
+
+# for some reason this helps against getting a socket error
+sleep 3
+
+# start the node controllers
+for ((i=1;i<=$numnc;i++)); do
+	echo "node controller (nc$i) starting..."
+	sh $HYRACKS_SERVER_BIN/hyracksnc -cc-host localhost -cluster-net-ip-address 127.0.0.1 -data-ip-address 127.0.0.1 -node-id "nc$i" \
+		&> $LOG_DIR/nc$i.log &
+
+    # avoid socket error
+	sleep .5
+done
+
+# deploy the asterix application to hyracks
+echo "connect to \"localhost\";create application asterix \"$ASTERIX_BIN\";" > $CONFIG_DIR/deploy.hcli
+cat $CONFIG_DIR/deploy.hcli | sh $HYRACKS_CLI_BIN/hyrackscli
diff --git a/asterix-dist/src/main/scripts/stopasterix.sh b/asterix-dist/src/main/scripts/stopasterix.sh
new file mode 100644
index 0000000..7b32b85
--- /dev/null
+++ b/asterix-dist/src/main/scripts/stopasterix.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+# get the PIDs of java processes we started
+if [ "$JAVA_HOME" != "" ]
+then
+    PIDS=`$JAVA_HOME/bin/jps`
+else
+    PIDS=`jps`
+fi
+
+while IFS='\n' read -ra MYPIDS; do
+    for i in "${MYPIDS[@]}"; do
+        pid=`echo $i | grep 'CCDriver\|NCDriver\|VirtualClusterDriver' | awk '{print $1}'`
+        name=`echo $i | grep 'CCDriver\|NCDriver\|VirtualClusterDriver' | awk '{print $2}'`
+        if [ "$pid" != "" ]
+        then
+            echo "Stopping $name: $pid"
+            kill -9 $pid
+        fi
+    done
+done <<< "$PIDS"
