diff --git a/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/CreateCommand.java b/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/CreateCommand.java
index 55e172b..5ddc9e9 100644
--- a/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/CreateCommand.java
+++ b/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/CreateCommand.java
@@ -70,7 +70,7 @@
 		clusterProperties.add(new Property("ASTERIX_HOME", cluster
 				.getWorkingDir().getDir() + File.separator + "asterix"));
 		clusterProperties.add(new Property("JAVA_OPTS", "-Xmx"
-				+ cluster.getRam()));
+				+ cluster.getJavaHeap()));
 		clusterProperties.add(new Property("CLUSTER_NET_IP", cluster
 				.getMasterNode().getClusterIp()));
 		clusterProperties.add(new Property("CLIENT_NET_IP", cluster
diff --git a/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/ValidateCommand.java b/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/ValidateCommand.java
index dcdbe18..8d9804c 100644
--- a/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/ValidateCommand.java
+++ b/asterix-installer/src/main/java/edu/uci/ics/asterix/installer/command/ValidateCommand.java
@@ -45,7 +45,7 @@
 	@Override
 	protected void execCommand() throws Exception {
 		ValidateConfig vConfig = (ValidateConfig) config;
-		logValidationResult("Enviornment", validateEnvironment());
+		logValidationResult("Environment", validateEnvironment());
 		if (((ValidateConfig) config).cluster != null) {
 			logValidationResult("Cluster configuration",
 					validateCluster(vConfig.cluster));
@@ -73,9 +73,9 @@
 		return "\nValidate the installer's configuration or a cluster configuration"
 				+ "\nUsage"
 				+ "\nFor validating the installer configuration"
-				+ "\n use $ managix validate"
+				+ "\nuse managix validate"
 				+ "\n\nFor validating a cluster configuration"
-				+ "\n$ use managix validate -c <path to the cluster configuration file>";
+				+ "\nuse managix validate -c <path to the cluster configuration file>";
 	}
 
 	public boolean validateEnvironment() throws Exception {
@@ -116,7 +116,7 @@
 
 			MasterNode masterNode = cluster.getMasterNode();
 			Node master = new Node(masterNode.getId(), masterNode.getIp(),
-					masterNode.getRam(), masterNode.getJavaHome(),
+					masterNode.getJavaHeap(), masterNode.getJavaHome(),
 					masterNode.getLogdir(), null, masterNode.getDebug());
 
 			valid = valid & validateNodeConfiguration(master, cluster);
@@ -197,10 +197,11 @@
 			}
 		}
 
-		if (node.getRam() == null || node.getRam().length() == 0) {
-			if (cluster.getRam() == null || cluster.getRam().length() == 0) {
+		if (node.getJavaHeap() == null || node.getJavaHeap().length() == 0) {
+			if (cluster.getJavaHeap() == null
+					|| cluster.getJavaHeap().length() == 0) {
 				valid = false;
-				LOGGER.fatal("ram not defined at cluster/node level for node: "
+				LOGGER.fatal("java heap size not defined at cluster/node level for node: "
 						+ node.getId() + ERROR);
 			}
 		}
diff --git a/asterix-installer/src/main/resources/clusters/local/local.xml b/asterix-installer/src/main/resources/clusters/local/local.xml
index 1413999..7a8e78f 100644
--- a/asterix-installer/src/main/resources/clusters/local/local.xml
+++ b/asterix-installer/src/main/resources/clusters/local/local.xml
@@ -7,7 +7,7 @@
   <logdir>/tmp/asterix/logs</logdir>
   <store>/tmp/asterix/storage</store>
   <java_home></java_home>
-  <ram>1024m</ram>
+  <java_heap>1024m</java_heap>
   <master-node>
      <id>master</id>
      <ip>127.0.0.1</ip>
