diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile
new file mode 100644
index 0000000000000000000000000000000000000000..bbaba4f84f2bee62b7a1d27bcac2ed476202eaa3
--- /dev/null
+++ b/.devcontainer/Dockerfile
@@ -0,0 +1 @@
+FROM eicweb/jug_xl:3.0-stable
diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json
new file mode 100644
index 0000000000000000000000000000000000000000..bc62d8736f192119ad19907750fb8932c231d09e
--- /dev/null
+++ b/.devcontainer/devcontainer.json
@@ -0,0 +1,15 @@
+{
+    "build": { "dockerfile": "Dockerfile" },
+    "extensions": [
+      "ms-vscode.cpptools",       // C++ coding support
+      "dbaeumer.vscode-eslint",   // C++ linting
+      "twxs.cmake",               // CMake build, run, configure
+      "ms-vscode.cmake-tools"     // CMake coding formatting
+    ],
+    "forwardPorts": [3000],
+    "runArgs": [      
+      // For X11 support
+      "-e", "DISPLAY=172.21.80.1:0",   // This should be WSL/Docker address for windows
+      "-e", "LIBGL_ALWAIS_INDIRECT=1"
+    ]
+  }
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
index df309478bdc425de0c15de0e249875b4cbdcc236..0ecca09077bcf951b8ba16c7ce530db379b3733d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,8 @@
 
 .idea/
+
+build/
+
+lib/
+
+share/
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fb6fc7828db20c430f3d47b9a3b741ffdac78362
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,43 @@
+
+cmake_minimum_required(VERSION 3.3 FATAL_ERROR)
+PROJECT(athena_ip6
+  VERSION 0.0.1
+  LANGUAGES CXX
+  DESCRIPTION "Athena@IP6"
+  )
+
+# Set find package policy to new
+cmake_policy(SET CMP0074 NEW)
+
+# Do we have athena directory (has submodules been initialized?)
+if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/athena")
+    message(FATAL_ERROR "ERROR. Can't fine 'athena' directory. Did you initialize git submodules? If not run 'git submodule init && git submodule update'. CMake exiting..." )
+
+endif()
+
+# Same for ip6 directory
+if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/ip6")
+    message(FATAL_ERROR "ERROR. Can't fine 'ip6' directory. Did you initialize git submodules? If not run 'git submodule init && git submodule update'. CMake exiting..." )
+endif()
+
+set (ln_cmd "ln")
+set (ln_arg "-s ../ip6/ip6 athena/ip6")
+message(STATUS "ln cmd: ${ln_cmd}")
+execute_process(COMMAND "ln -s ../ip6/ip6 ${PROJECT_SOURCE_DIR}/athena/ip6"
+  WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
+  RESULT_VARIABLE git_result
+  OUTPUT_VARIABLE git_ver)
+
+message(STATUS "{PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}")
+
+
+# message(STATUS "${CMAKE_CURRENT_LIST_DIR}/athena/ip6")
+# # We need to create a symbolic link for athena if 
+# if(NOT EXISTS "${CMAKE_CURRENT_LIST_DIR}/athena/ip6")
+#     execute_process(COMMAND "ln" "-s" "../ip6/ip6" "athena/ip6")
+#     message(STATUS "created ip6 sybmolic link in athena directory" )
+# endif()
+
+# Add athena and ip6 repos
+add_subdirectory(athena)
+add_subdirectory(ip6)
\ No newline at end of file
diff --git a/README.md b/README.md
index 066bf66a2eb9d15393fe7cd25aab2475a6302966..e7540a4ba694821e02dbf0043657cee94429903e 100644
--- a/README.md
+++ b/README.md
@@ -1,3 +1,15 @@
 # vscode_athena
 
-Tutorial and a boilerplate of how to develop Athena detector using VSCode and Juggler container
\ No newline at end of file
+Tutorial and a boilerplate of how to develop Athena detector using VSCode and Juggler container
+
+![Athena in vscode](doc/vscode_propaganda.png)
+
+```
+git clone --recurse-submodules https://eicweb.phy.anl.gov/EIC/tutorials/vscode_athena.git
+cd vscode_athena
+ln -s ../ip6/ip6 athena/ip6
+```
+
+[Git submodules documentation](https://git-scm.com/book/en/v2/Git-Tools-Submodules)
+
+[VSCode documentation on container development](https://code.visualstudio.com/docs/remote/create-dev-container)
\ No newline at end of file
diff --git a/doc/vscode_propaganda.png b/doc/vscode_propaganda.png
new file mode 100644
index 0000000000000000000000000000000000000000..19a57b7ec59c30d09bbc60612fa2087357be10dd
Binary files /dev/null and b/doc/vscode_propaganda.png differ