diff --git a/4-GPU/HandsOn/.master/CMakeLists.txt b/4-GPU/HandsOn/.master/CMakeLists.txt
index 2c7ae54d987348b157d6df97b933a223a8438c64..3c013380f90ea161c225e72788e3f3d2206495b1 100644
--- a/4-GPU/HandsOn/.master/CMakeLists.txt
+++ b/4-GPU/HandsOn/.master/CMakeLists.txt
@@ -4,4 +4,31 @@ project(4-GPU)
 #install(TARGETS myapp DESTINATION bin)
 
 add_subdirectory(./C)
-add_subdirectory(./FORTRAN)
\ No newline at end of file
+add_subdirectory(./FORTRAN)
+add_subdirectory(./resources)
+
+
+add_custom_command(OUTPUT HandsOnGPUProgramming.ipynb 
+        COMMAND notebook-splitter --remove "solution" ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb --output HandsOnGPUProgramming.ipynb 
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb) 
+
+add_custom_command(OUTPUT HandsOnGPUProgramming_Solution.ipynb 
+        COMMAND notebook-splitter --remove "task" ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb --output HandsOnGPUProgramming_Solution.ipynb 
+        DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/HandsOnGPUProgramming_master.ipynb) 
+
+add_custom_target(notebook_task DEPENDS HandsOnGPUProgramming.ipynb)
+add_custom_target(notebook_solution DEPENDS HandsOnGPUProgramming_Solution.ipynb)
+add_custom_target(notebook ALL DEPENDS notebook_solution notebook_task)
+
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+
+set(TASK_FILES ${CMAKE_CURRENT_BINARY_DIR}/HandsOnGPUProgramming.ipynb)
+set(SOLUTION_FILES ${CMAKE_CURRENT_BINARY_DIR}/HandsOnGPUProgramming_Solution.ipynb)
+
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file
diff --git a/4-GPU/HandsOn/.master/resources/CMakeLists.txt b/4-GPU/HandsOn/.master/resources/CMakeLists.txt
new file mode 100644
index 0000000000000000000000000000000000000000..0ac0ad611d245b514172efb5af6d1230ce3ef1ff
--- /dev/null
+++ b/4-GPU/HandsOn/.master/resources/CMakeLists.txt
@@ -0,0 +1,12 @@
+file(RELATIVE_PATH RELPATH ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+set(SOLUTION_DIR ${CMAKE_SOURCE_DIR}/../Solution/${RELPATH})
+set(TASK_DIR ${CMAKE_SOURCE_DIR}/../${RELPATH})
+
+set(TASK_FILES eval.png)
+set(SOLUTION_FILES ${TASK_FILES} Solution3.png Solution4.png Solution5.png Solution6.png)
+
+message(VERBOSE "TASK FILES ${TASK_FILES} GO TO ${TASK_DIR}")
+message(VERBOSE "SOLUTION FILES ${SOLUTION_FILES} GO TO ${SOLUTION_DIR}")
+
+install(FILES ${TASK_FILES} DESTINATION ${TASK_DIR})
+install(FILES ${SOLUTION_FILES} DESTINATION ${SOLUTION_DIR})
\ No newline at end of file