diff --git a/CHANGES.md b/CHANGES.md
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,3 +1,7 @@
+# ClaferIG Version 0.4.2 released on Oct 16, 2015
+
+[Release](https://github.com/gsdlab/claferIG/pull/28)
+
 # ClaferIG Version 0.4.1 released on Sep 1, 2015
 
 [Release](https://github.com/gsdlab/claferIG/pull/27)
diff --git a/Makefile b/Makefile
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,6 @@
-TOOL_DIR = tools
+ifeq ($(OS),Windows_NT)
+EXE := .exe
+endif
 
 ifeq ($(OS),Windows_NT)
 	LIB := x86-windows/minisatprover*
@@ -27,69 +29,47 @@
 install:
 	mkdir -p $(to)
 	mkdir -p $(to)/lib
-	mkdir -p $(to)/tools
 	cp -f lib/*minisatprover* $(to)/lib
-	cp -f tools/alloy4.2.jar $(to)/tools
+	cp -f alloy4.2.jar $(to)
 	cp -f alloyIG.jar $(to)
 	cp -f LICENSE $(to)/
 	cp -f CHANGES.md $(to)/claferIG-CHANGES.md
 	cp -f README.md $(to)/claferIG-README.md
-	cabal install --bindir=$(to)
-
-# Removes current build and makes a clean new one (Don't use if starting from scratch!)
-cleanEnv:
-	make clean
-	ghc-pkg unregister claferIG
-	rm `which claferIG`
-	make
-
-# this takes the version from the .cabal file. Need to run install first to produce Paths_claferIG.hs
-newVersion:
-	ghc -isrc src/dateVer.hs dist/build/autogen/Paths_claferIG.hs -outputdir dist/build --make -o dateVer
-	./dateVer > src/Language/Clafer/IG/Version.hs
-
-init:
-	cabal sandbox init --sandbox=../.clafertools-cabal-sandbox
-	cabal install --only-dependencies --enable-tests
+	cp `stack path --local-install-root`/bin/claferIG$(EXE) $(to)
 
 # Build takes less time. For ease of development.
 build: alloyIG.jar
-	cabal configure --enable-tests
-	cabal build
+	stack build
 
-alloyIG.jar: src/manifest src/org/clafer/ig/AlloyIG.java src/manifest src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java
-	$(MAKE) -C $(TOOL_DIR)
+alloyIG.jar: alloy4.2.jar src/manifest src/org/clafer/ig/AlloyIG.java src/manifest src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java
 	mkdir -p dist/javabuild
-	javac  -cp "tools/alloy4.2.jar" -d dist/javabuild src/org/clafer/ig/AlloyIG.java src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java
+	javac  -cp "alloy4.2.jar" -d dist/javabuild src/org/clafer/ig/AlloyIG.java src/org/clafer/ig/Util.java src/org/clafer/ig/AlloyIGException.java src/edu/mit/csail/sdg/alloy4compiler/parser/AlloyCompiler.java
 	jar cfm alloyIG.jar src/manifest -C dist/javabuild org/clafer/ig/ -C dist/javabuild edu
 
-lib:
+.PHONY : test lib
+
+lib: alloy4.2.jar
 	@if test -z $(LIB); then \
 		echo "[WARNING] Did not find a minisat prover binary suitable for your system. You may need to build the binary yourself."; \
 	else \
-		unzip tools/alloy4.2.jar $(LIB) -d lib; \
+		unzip alloy4.2.jar $(LIB) -d lib; \
 		chmod +x lib/$(LIB); \
 		cp lib/$(LIB) lib; \
 	fi
 
 test:
-	# Install what's needed for running the tests
-	cp alloyIG.jar dist/build/test-suite/
-	cp alloyIG.jar dist/build/claferIG/
-	cp -r tools/ dist/build/test-suite/
-	cp -r tools/ dist/build/claferIG/
-	cp -r lib/ dist/build/test-suite/
-	cp -r lib/ dist/build/claferIG/
-	cabal test
+	cp alloyIG.jar `stack path --dist-dir`/build/test-suite/
+	cp alloy4.2.jar `stack path --dist-dir`/build/test-suite/
+	cp -R lib  `stack path --dist-dir`/build/test-suite/
+	cp alloyIG.jar `stack path --dist-dir`/build/claferIG/
+	cp alloy4.2.jar `stack path --dist-dir`/build/claferIG/
+	cp -R lib  `stack path --dist-dir`/build/claferIG/
+	stack test
 
 clean:
-	rm -rf dist
+	stack clean
 	rm -f alloyIG.jar
-	rm -f claferIG
-	rm -rf tools/x86-linux
-	rm -rf tools/amd64-linux
-	rm -rf tools/x86-windows
-	rm -rf tools/x86-mac
+	rm -rf tools
 
 tags:
 	hasktags --ctags --extendedctag .
@@ -97,3 +77,22 @@
 codex:
 	codex update
 	mv codex.tags tags
+
+WGET_COMMAND := wget
+ifeq ($(OS),Windows_NT)
+	ifeq ($(shell which wget), which: wget: unkown command)
+		pacman -S make wget
+	endif
+else
+	UNAME_S := $(shell uname -s)
+	ifeq ($(UNAME_S),Darwin)
+		WGET_COMMAND := curl -O
+	endif
+endif
+
+alloy4.2.jar:
+	@if test ! -f "alloy4.2.jar"; then \
+		echo "[WARNING] Missing alloy4.2.jar. Downloading...";  \
+		$(WGET_COMMAND) http://alloy.mit.edu/alloy/downloads/alloy4.2_2015-02-22.jar; \
+		mv alloy4.2_2015-02-22.jar alloy4.2.jar; \
+	fi
diff --git a/README.md b/README.md
--- a/README.md
+++ b/README.md
@@ -1,6 +1,6 @@
 # Clafer Instance Generator
 
-v0.4.1
+v0.4.2
 
 [Clafer](http://clafer.org) is a powerful (equivalent to first-order predicate logic) yet lightweight structural modeling language. Despite simplicity and conciseness of Clafer, writing correct models remains challenging due to hard-to-predict interactions among all constraints expressed in the model. **Clafer instance generator** (ClaferIG) is an interactive tool that generates instances and counter examples of concrete clafers in a Clafer model. If the concrete clafers do not have contradicting constraints, the generator produces valid instance data. Otherwise, the generator produces an unsatisfiable core which included all contradicting constraints and generates a counter example by removing one constraint from the core. The generator can potentially produce many instances if the concrete clafers are not fully specialized. The generator produces different instances on-demand. With these capabilities, the instance generator can be used for debugging models: checking the consistency of the model and detecting under- and
 overconstraining of the model. The instance generator can also be used programmatically via API (the command line and interactive session interfaces only use the API).
@@ -21,14 +21,14 @@
 
 Regardless of the installation method, the following are required:
 
-* [Clafer](https://github.com/gsdlab/clafer) v0.4.1
+* [Clafer](https://github.com/gsdlab/clafer) v0.4.2
 * [Java Platform (JDK)](http://www.oracle.com/technetwork/java/javase/downloads/index.html) v8+, 64bit
   * On Windows, Java must be 32bit because of Alloy, 64bit otherwise
 * [Alloy4.2](http://alloy.mit.edu/alloy/download.html)
 
 ### Installation from binaries
 
-Binary distributions of the release 0.4.1 of Clafer Tools for Windows, Mac, and Linux,
+Binary distributions of the release 0.4.2 of Clafer Tools for Windows, Mac, and Linux,
 can be downloaded from [Clafer Tools - Binary Distributions](http://gsd.uwaterloo.ca/clafer-tools-binary-distributions).
 
 1. download the binaries and unpack `<target directory>` of your choice
@@ -40,11 +40,11 @@
 
 * [GHC](https://www.haskell.org/downloads) v7.10.*
 
-ClaferIG is now available on [Hackage](http://hackage.haskell.org/package/claferIG-0.4.1/) and it can be installed using
+ClaferIG is now available on [Hackage](http://hackage.haskell.org/package/claferIG-0.4.2/) and it can be installed using
 
 1. `cabal update`
 2. `cabal install claferIG`
-3. `cd <cabal's lib or share folder>`  (`C:\Users\<user>\AppData\Roaming\cabal\i386-windows-ghc-7.10.2\claferIG-0.4.1` on Windows or `.cabal/share/x86_64-linux-ghc-7.10.2/claferIG-0.4.1/` on Linux)
+3. `cd <cabal's lib or share folder>`  (`C:\Users\<user>\AppData\Roaming\cabal\i386-windows-ghc-7.10.2\claferIG-0.4.2` on Windows or `.cabal/share/x86_64-linux-ghc-7.10.2/claferIG-0.4.2/` on Linux)
 3. to automatically download Alloy4.2 jar
   * execute `make` in `tools`
 4. To get the `minisatproover` library
@@ -116,7 +116,7 @@
 (As printed by `claferIG --help`)
 
 ```
-ClaferIG v0.4.1
+ClaferIG v0.4.2
 
 claferIG [OPTIONS] [FILE]
 
@@ -168,7 +168,7 @@
 
 ## ```
 
-## | ClaferIG 0.4.1 |
+## | ClaferIG 0.4.2 |
 
 
 You can invoke the following commands as indicated by single quotes:
diff --git a/alloyIG.jar b/alloyIG.jar
Binary files a/alloyIG.jar and b/alloyIG.jar differ
diff --git a/claferIG.cabal b/claferIG.cabal
--- a/claferIG.cabal
+++ b/claferIG.cabal
@@ -1,5 +1,5 @@
 Name:                   claferIG
-Version:                0.4.1
+Version:                0.4.2
 Synopsis:               claferIG is an interactive tool that generates instances of Clafer models.
 Description:            Clafer is a powerful (equivalent to first-order predicate logic) yet lightweight structural modeling language. Despite simplicity and conciseness of Clafer, writing correct models remains challenging due to hard-to-predict interactions among all constraints expressed in the model. Clafer instance generator (ClaferIG) is an interactive tool that generates instances and counter examples of concrete clafers in a Clafer model. If the concrete clafers do not have contradicting constraints, the generator produces valid instance data. Otherwise, the generator produces an unsatisfiable core which included all contradicting constraints and generates a counter example by removing one constraint from the core. The generator can potentially produce many instances if the concrete clafers are not fully specialized. The generator produces different instances on-demand. With these capabilities, the instance generator can be used for debugging models: checking the consistency of the model and detecting under- and overconstraining of the model. The instance generator can also be used programmatically via API (the command line and interactive session interfaces only use the API).
 Homepage:               http://clafer.org
@@ -19,8 +19,8 @@
                       , alloyIG.jar
                       , CHANGES.md
                       , Makefile
-                      , tools/Makefile
                       , lib/minisatprover.md
+                      , stack.yaml
 source-repository head
     type:               git
     location:           git://github.com/gsdlab/claferIG.git
@@ -42,8 +42,8 @@
                       , transformers-compat >= 0.3 && < 0.5
                       , mtl-compat >= 0.2.1
 
-                      , clafer == 0.4.1
-                      , claferIG == 0.4.1
+                      , clafer == 0.4.2
+                      , claferIG == 0.4.2
     other-modules:      Paths_claferIG
     Hs-Source-Dirs:     src-cmd
     ghc-options:        -Wall -fno-warn-orphans
@@ -70,7 +70,7 @@
                       , transformers-compat >= 0.3 && < 0.5
                       , mtl-compat >= 0.2.1
 
-                      , clafer == 0.4.1
+                      , clafer == 0.4.2
 
     if os(windows)
       build-depends:  HaXml == 1.24
@@ -109,7 +109,7 @@
                       , tasty-th >= 0.1.3
                       , transformers-compat >= 0.3 && < 0.5
 
-                      , clafer == 0.4.1
-                      , claferIG == 0.4.1
+                      , clafer == 0.4.2
+                      , claferIG == 0.4.2
     other-modules:      Paths_claferIG
     ghc-options:        -Wall -fno-warn-orphans
diff --git a/src/Language/Clafer/IG/CommandLineParser.hs b/src/Language/Clafer/IG/CommandLineParser.hs
--- a/src/Language/Clafer/IG/CommandLineParser.hs
+++ b/src/Language/Clafer/IG/CommandLineParser.hs
@@ -68,7 +68,7 @@
 parseCommandLine :: String -> Either ParseError Command
 parseCommandLine input =
     if null input then Right Next
-    else parse doParse "claferIG" input
+    else parse doParse "ClaferAlloyIG" input
     where
     doParse =
         do
@@ -83,7 +83,7 @@
 --   Any unexpected character means parse did not reach the end of the input, hence cannot autocomplete.
 parseCommandLineAutoComplete :: String -> ParseError
 parseCommandLineAutoComplete input =
-    case parse doParse "claferIG autocomplete" input of
+    case parse doParse "ClaferAlloyIG autocomplete" input of
         Left e  -> e
         Right _ -> error "Failed at failing."
     where
diff --git a/stack.yaml b/stack.yaml
new file mode 100644
--- /dev/null
+++ b/stack.yaml
@@ -0,0 +1,10 @@
+# for GHC-7.10.2
+extra-deps:
+  [ data-stringmap-1.0.1.1
+  , HaXml-1.24
+  ]
+resolver: lts-3.9
+
+packages:
+- '../clafer'
+- '.'
diff --git a/tools/Makefile b/tools/Makefile
deleted file mode 100644
--- a/tools/Makefile
+++ /dev/null
@@ -1,15 +0,0 @@
-WGET_COMMAND := wget
-
-ifneq ($(OS),Windows_NT)
-	UNAME := $(shell uname -s)
-	ifeq ($(UNAME),Darwin)
-		WGET_COMMAND := curl -O
-	endif
-endif
-
-all:
-	@if test ! -f "alloy4.2.jar"; then \
-		echo "[WARNING] Missing alloy4.2.jar. Downloading...";  \
-		$(WGET_COMMAND) http://alloy.mit.edu/alloy/downloads/alloy4.2_2015-02-22.jar; \
-		mv alloy4.2_2015-02-22.jar alloy4.2.jar; \
-	fi
