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
+
+
+
+```
+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