diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..485dee6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+.idea
diff --git a/.idea/encodings.xml b/.idea/encodings.xml
deleted file mode 100644
index 15a15b2..0000000
--- a/.idea/encodings.xml
+++ /dev/null
@@ -1,4 +0,0 @@
-
-
-
-
\ No newline at end of file
diff --git a/.idea/misc.xml b/.idea/misc.xml
deleted file mode 100644
index 0548357..0000000
--- a/.idea/misc.xml
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
deleted file mode 100644
index 287a49d..0000000
--- a/.idea/modules.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml
deleted file mode 100644
index e96534f..0000000
--- a/.idea/uiDesigner.xml
+++ /dev/null
@@ -1,124 +0,0 @@
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
- -
-
-
-
-
- -
-
-
- -
-
-
-
-
-
\ No newline at end of file
diff --git a/.idea/workspace.xml b/.idea/workspace.xml
deleted file mode 100644
index 1bf09db..0000000
--- a/.idea/workspace.xml
+++ /dev/null
@@ -1,1057 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- -
- shut
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1564081375119
-
-
- 1564081375119
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- file://$PROJECT_DIR$/src/chapter2/ExpensiveObject.java
- 13
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- No facets are configured
-
-
-
-
-
-
-
-
-
-
-
- Bundled Protobuf Distribution
-
-
-
-
-
-
-
-
-
-
-
- 1.8
-
-
-
-
-
-
-
-
-
-
-
- ConcurrencyPuzzlers
-
-
-
-
-
-
-
-
-
-
-
-
- 11
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/ConcurrencyPuzzlers.iml b/ConcurrencyPuzzlers.iml
deleted file mode 100644
index bb6b39c..0000000
--- a/ConcurrencyPuzzlers.iml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/out/production/ConcurrencyPuzzlers/META-INF/ConcurrencyPuzzlers.kotlin_module b/out/production/ConcurrencyPuzzlers/META-INF/ConcurrencyPuzzlers.kotlin_module
deleted file mode 100644
index 2983af7..0000000
Binary files a/out/production/ConcurrencyPuzzlers/META-INF/ConcurrencyPuzzlers.kotlin_module and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/SafeSequence.class b/out/production/ConcurrencyPuzzlers/chapter1/SafeSequence.class
deleted file mode 100644
index d08a14b..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/SafeSequence.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/UnsafeSequence.class b/out/production/ConcurrencyPuzzlers/chapter1/UnsafeSequence.class
deleted file mode 100644
index 6b1f89f..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/UnsafeSequence.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/Cretan.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/Cretan.class
deleted file mode 100644
index 13c8bcb..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/Cretan.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/CretanAttack.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/CretanAttack.class
deleted file mode 100644
index d183566..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/CretanAttack.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan.class
deleted file mode 100644
index 4e0a3d4..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan2.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan2.class
deleted file mode 100644
index b97056e..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan2.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan3.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan3.class
deleted file mode 100644
index bc56a28..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan3.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan4.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan4.class
deleted file mode 100644
index 5e18218..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan4.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan5.class b/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan5.class
deleted file mode 100644
index 13147c8..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter1/cretans/SynchronizedCretan5.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter2/ExpensiveObject.class b/out/production/ConcurrencyPuzzlers/chapter2/ExpensiveObject.class
deleted file mode 100644
index 5c8b6e0..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter2/ExpensiveObject.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter2/LazyInit.class b/out/production/ConcurrencyPuzzlers/chapter2/LazyInit.class
deleted file mode 100644
index 93d6ea8..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter2/LazyInit.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter2/SafeLazyInit.class b/out/production/ConcurrencyPuzzlers/chapter2/SafeLazyInit.class
deleted file mode 100644
index 6621eb4..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter2/SafeLazyInit.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/AttemptToShowReordering$State.class b/out/production/ConcurrencyPuzzlers/chapter3/AttemptToShowReordering$State.class
deleted file mode 100644
index 0ab4512..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/AttemptToShowReordering$State.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/AttemptToShowReordering.class b/out/production/ConcurrencyPuzzlers/chapter3/AttemptToShowReordering.class
deleted file mode 100644
index 13e262c..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/AttemptToShowReordering.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/NonAtomicDoubleUpdates.class b/out/production/ConcurrencyPuzzlers/chapter3/NonAtomicDoubleUpdates.class
deleted file mode 100644
index 9a82726..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/NonAtomicDoubleUpdates.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/Publication.class b/out/production/ConcurrencyPuzzlers/chapter3/Publication.class
deleted file mode 100644
index 42491ed..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/Publication.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/Visibility.class b/out/production/ConcurrencyPuzzlers/chapter3/Visibility.class
deleted file mode 100644
index 24e15fb..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/Visibility.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/VolatileCretan.class b/out/production/ConcurrencyPuzzlers/chapter3/VolatileCretan.class
deleted file mode 100644
index 97142af..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/VolatileCretan.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter3/VolatileStatus.class b/out/production/ConcurrencyPuzzlers/chapter3/VolatileStatus.class
deleted file mode 100644
index 7bbc962..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter3/VolatileStatus.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter4/Atomicity.class b/out/production/ConcurrencyPuzzlers/chapter4/Atomicity.class
deleted file mode 100644
index a21b14b..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter4/Atomicity.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter4/Car.class b/out/production/ConcurrencyPuzzlers/chapter4/Car.class
deleted file mode 100644
index 67006cf..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter4/Car.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter4/Ownership.class b/out/production/ConcurrencyPuzzlers/chapter4/Ownership.class
deleted file mode 100644
index 3bca195..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter4/Ownership.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter4/Ownership2.class b/out/production/ConcurrencyPuzzlers/chapter4/Ownership2.class
deleted file mode 100644
index 0124376..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter4/Ownership2.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter5/ShowMeTheValues.class b/out/production/ConcurrencyPuzzlers/chapter5/ShowMeTheValues.class
deleted file mode 100644
index 9bb0467..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter5/ShowMeTheValues.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter5/juc/HashMapTest.class b/out/production/ConcurrencyPuzzlers/chapter5/juc/HashMapTest.class
deleted file mode 100644
index 607772b..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter5/juc/HashMapTest.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/CachedThreadPool.class b/out/production/ConcurrencyPuzzlers/chapter6/CachedThreadPool.class
deleted file mode 100644
index c60f05e..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/CachedThreadPool.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/CompletionServiceExample.class b/out/production/ConcurrencyPuzzlers/chapter6/CompletionServiceExample.class
deleted file mode 100644
index 800c6a3..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/CompletionServiceExample.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/FixedThreadPoolWebserver.class b/out/production/ConcurrencyPuzzlers/chapter6/FixedThreadPoolWebserver.class
deleted file mode 100644
index adfdb0b..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/FixedThreadPoolWebserver.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/Shutdown.class b/out/production/ConcurrencyPuzzlers/chapter6/Shutdown.class
deleted file mode 100644
index b82bf7e..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/Shutdown.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/ShutdownNow.class b/out/production/ConcurrencyPuzzlers/chapter6/ShutdownNow.class
deleted file mode 100644
index e3e358e..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/ShutdownNow.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/SingleThreadExecutor.class b/out/production/ConcurrencyPuzzlers/chapter6/SingleThreadExecutor.class
deleted file mode 100644
index b787296..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/SingleThreadExecutor.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/futures/CancelledFuture.class b/out/production/ConcurrencyPuzzlers/chapter6/futures/CancelledFuture.class
deleted file mode 100644
index c1ddeac..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/futures/CancelledFuture.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/futures/ExceptionalFuture.class b/out/production/ConcurrencyPuzzlers/chapter6/futures/ExceptionalFuture.class
deleted file mode 100644
index 03c4d8d..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/futures/ExceptionalFuture.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter6/futures/TheFuture.class b/out/production/ConcurrencyPuzzlers/chapter6/futures/TheFuture.class
deleted file mode 100644
index 37a9a3d..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter6/futures/TheFuture.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/chapter7/TrickyTaskCancellation.class b/out/production/ConcurrencyPuzzlers/chapter7/TrickyTaskCancellation.class
deleted file mode 100644
index 40f008c..0000000
Binary files a/out/production/ConcurrencyPuzzlers/chapter7/TrickyTaskCancellation.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/common/NotThreadSafe.class b/out/production/ConcurrencyPuzzlers/common/NotThreadSafe.class
deleted file mode 100644
index a0bbfc8..0000000
Binary files a/out/production/ConcurrencyPuzzlers/common/NotThreadSafe.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/common/TestHarness.class b/out/production/ConcurrencyPuzzlers/common/TestHarness.class
deleted file mode 100644
index d00c154..0000000
Binary files a/out/production/ConcurrencyPuzzlers/common/TestHarness.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/common/ThreadSafe.class b/out/production/ConcurrencyPuzzlers/common/ThreadSafe.class
deleted file mode 100644
index 789e201..0000000
Binary files a/out/production/ConcurrencyPuzzlers/common/ThreadSafe.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper1.class b/out/production/ConcurrencyPuzzlers/sleepers/Sleeper1.class
deleted file mode 100644
index f4eb373..0000000
Binary files a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper1.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper2.class b/out/production/ConcurrencyPuzzlers/sleepers/Sleeper2.class
deleted file mode 100644
index e087d35..0000000
Binary files a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper2.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper3a.class b/out/production/ConcurrencyPuzzlers/sleepers/Sleeper3a.class
deleted file mode 100644
index 074b67f..0000000
Binary files a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper3a.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper3b.class b/out/production/ConcurrencyPuzzlers/sleepers/Sleeper3b.class
deleted file mode 100644
index 2934cc1..0000000
Binary files a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper3b.class and /dev/null differ
diff --git a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper4.class b/out/production/ConcurrencyPuzzlers/sleepers/Sleeper4.class
deleted file mode 100644
index 8a70c2b..0000000
Binary files a/out/production/ConcurrencyPuzzlers/sleepers/Sleeper4.class and /dev/null differ