diff --git a/doc/ch-big-data-intro/img/divide-conquer.drawio b/doc/ch-big-data-intro/img/divide-conquer.drawio
new file mode 100644
index 0000000..72215ca
--- /dev/null
+++ b/doc/ch-big-data-intro/img/divide-conquer.drawio
@@ -0,0 +1 @@
+7Ztdk6I4FIZ/TS67CxIS4FLU3q3a6aqu6qrd6b2LEJUdJA7Gbp1fv0GCfDuMraDFzEUPOfkgOe/JExIQoPFq90dE18tn7rEAQM3bATQBENoIyr+xYZ8YsGUmhkXke4lJzwyv/g+mjJqybn2PbQoFBeeB8NdFo8vDkLmiYKNRxD+KxeY8KN51TResYnh1aVC1/uN7YplYLWhm9j+Zv1imd9aJneSsaFpYjWSzpB7/yJnQFKBxxLlIrla7MQti36V+Seo9NeQeOxaxULSpsAn//TL6+2n38mI+r7+O/iJvjv6AVDPvNNiqEavein3qgohvQ4/FrWgAOR9LX7DXNXXj3A+pubQtxSqQKV1eznkolIo6kemNiPg3NuYBj6Qp5KHMcdQ9WSTYrnE0+tFHMrYYXzER7WURVcG0khr71O/Kyx+ZSMRUtmVOIIyUkarAWBybznwnL5T7fsWV2s9dyTwZXCrJI7HkCx7SYJpZnaKzszJfOF8rF//HhNgrH9Ot4KcFSPoQ3/i0p2U/+TZy2YkRqvEIGi2YOFHOqFcuYgEV/nuxHxeXAVZVmGJgTYH9FF+MTGA5YGoD2wSjaXwxgsC2TgS93iLo/SBIQxxA5FFmzd1K8Msc4lpsNm9U6VMzAmFUnBKkOiV0WDMlyNVmRK0UowmwtWsrgJnlGXUKWHCGCLmOAjrWCgpAs28FjIEpUJ4D/SuAB6YAxuTGFCCnFDCB4wAbgSkBtlwixhdVYG65zK1dB2YWNrDWDYUMrW8FzIEpUKZQ/wpYA1OgTKH+FbBrFLiu4+dzWO94j8wI7mgBxtDo2fF6m21Z6I3iswKZcgO62fhu0bVs54uv8lp7hFgl33JZk3jwWprYp4lQdj+phdPkWz4vq3ZIpfVuYAOH6jXOaYjrttbK1nqfp+7wwn05kCyEtNJTNCyFRjJMVSt/4FFuqLQQ6mapocQPlYYOYXYc9id2otXIm/jvvscq8SfnmyhGXMQ2/g86OxSIg2Idd/LQbewAPJEWGviLMA5YGQVMzmwnnre+S4ORylj5nnc4UgjojAUOdb8tDjwpMkL++xUSqGM21TNw1CYfjSemYSM3HrRHXdfI5wIoLcLn8w27iqR6i+Oy9jAZBEsaDoM6Yold2g+WT//asuQY6GlDVscsqZ6lDJglp59BJEuMmwdJzTHl+SAxzyIJvDeU4D5RYsALoaTSUNcoqa5hA0YJ/BlK5N4RF/W6ebbUnLsP9CEFtSQL+f2QcgmyVBe1MQ+/byUHhoiWhl20al571LCpF/RCN0+WmvdJAyWL0ZIsZp9kKQMBGRcii6F3TJbqa7Qhk6VhT517aLGwefMwqXk12gVMrggF3BIKVp9QKO8/zoZCuaHOoVBdjYYMhYbdcQaFO3zeqHl33/Hzxs0ckpCWbLH7ZAuBxfeuZ7Ol3FDXbEk/Wy5EHgliiHj+eyECyfdt/AmvEzPmQUFjJEsEbC6yXHm1UP8fWplFZYvs56Hp1DpAhDVsw3PviHBpzXnQb51hqHoa88xk7P4WuHaNspB1ZwLrNZ83DXRTbN7DGlXZy5Y/C2j9fUHp3A4jo9M1ClYDb7hkaThnyW2J9fSXR3dzjl/z1V7HYDFvhSzWPZClsiE+lyzlhjonS/VrxeGSpeGwJkcWLf3NX/9kkcnsF4VJ8exnmWj6Pw==
\ No newline at end of file
diff --git a/doc/ch-big-data-intro/img/divide-conquer.png b/doc/ch-big-data-intro/img/divide-conquer.png
new file mode 100644
index 0000000..49aeb91
Binary files /dev/null and b/doc/ch-big-data-intro/img/divide-conquer.png differ
diff --git a/doc/ch-big-data-intro/img/kafka.drawio b/doc/ch-big-data-intro/img/kafka.drawio
new file mode 100644
index 0000000..ed8f075
--- /dev/null
+++ b/doc/ch-big-data-intro/img/kafka.drawio
@@ -0,0 +1 @@
+7ZrLcuI4FIafxstQtuTrEhOYdE2mJlUseno1JWxhVBiLsUWAfvqRLPluCKG5papZEOnoYuk/H0dHEA2OVrs/UrRe/EVDHGtAD3cafNYA8CDg78KwlwbLs6QhSkkoTUZlmJKfWBl1Zd2QEGeNjozSmJF10xjQJMEBa9hQmtJts9ucxs2nrlGEO4ZpgOKu9TsJ2UJaXeBU9hdMokXxZMP2ZMsKFZ3VTrIFCum2ZoJjDY5SSpksrXYjHAvtCl3kuMmB1nJhKU7YSQNepgma/Xzfwyf/9bs7Xs5e4ROw5TTvKN6oHavVsn0hQUo3SYjFLLoG/e2CMDxdo0C0brnPuW3BVjGvGbw4pwlTXjRsXs9YSpd4RGOaclNCE97iq2filOHdwd0YpUacLUxXmKV73kUNcBVGCitTibytfGR7yrao+ce0lBEpLqJy5ko6XlDqfUJJoyvk2NL8oeaZ2tgR70NXFHyo+X5e8DVvwkcYRwQ3Pi/4BbQ1CpGUuF5XXAP0iGtfS1twrrbHYL6PttB5MG3hudrCh9PW8h5MW7Oj7Z9ovkSXjbAXEA60oCxP35py8KbK9RxLY1vjuYOvi4L7rA3HBaddEPlRuxbFYB8TLmz6sagz6YHXWWlAwTLK/fL3hvFZ8O3CLYQ9h1mP+O61xHd6cgI7Zmr3Dant/za0aHjKcl2G4kyz17uqkZci8ffleTItZuILk5PJpo4LqVR9VKZ1unpKkUponEgIJmJbfpSikOCqTaUZzdyjPmBO4rhmn+cvbg9Rtig/h8KphGeCr2iG4zeaEUZowttmlDG6qnUYxiQSDYwKqpCqBXxBOXoHPrugqKtNi0eibC13Oyc7sQ6/IHm1i0R6PUDbzBykOKObNMDfArEen1dlqdlrEc6zf4N4k8lVXCJMuB+D6t4SVO/cs8t8uLPL1Fva9mS0tz28jG7WNeEfyeXBaBvSYLPKt/vpaHuDZOBkQa9Gq2H1xNWWljgJh+LWKuJHjLKMBE3l8I6wf0SwGFiq9qPW8rxTcSSv7ItKwlcvBwGrqP+oN1bj8loxUMbP4toLSr/gsHNnbnmF7ymPUMfUkP0YSiPMjvQz+71c86LV48TCluIYMfLeXG6fZ9UT3ijJT7gi4pmtxAi04JDbVKPql+/2RC0aDac1kdShM1EOWrntX2DvhHv+ldl7HPTAl0APtIhpB/pT0YP2BwxfG72+dPK26DmPwx78CuyZ5oXYa090c/bci7Jn2XcIfGLaN5wSroVI5PNeFwTSPBFI755A2vaFgLTAfYEEPV8Tnw+kacA6kAOdx9pjUD4sXM5do53lDDygly+jSUj7PnBy7Gt9qQbbPz1cG7Xu/e0XUAOnH7w9lFXB0G1Gw4FufRAQ89oDIGrfFVEDDHjMO4go/+iD8yiFNhwAnQdYB+iW6dlNZM0bI9vzY8T5yDpf/JpyKpnyi5rf0fNEFHm1+tFddq/+cwGO/wc=
\ No newline at end of file
diff --git a/doc/ch-big-data-intro/img/kafka.png b/doc/ch-big-data-intro/img/kafka.png
new file mode 100644
index 0000000..6239ec2
Binary files /dev/null and b/doc/ch-big-data-intro/img/kafka.png differ
diff --git a/doc/ch-big-data-intro/img/kappa.png b/doc/ch-big-data-intro/img/kappa.png
new file mode 100644
index 0000000..6a627f7
Binary files /dev/null and b/doc/ch-big-data-intro/img/kappa.png differ
diff --git a/doc/ch-big-data-intro/img/lambda.drawio b/doc/ch-big-data-intro/img/lambda.drawio
new file mode 100644
index 0000000..381faa6
--- /dev/null
+++ b/doc/ch-big-data-intro/img/lambda.drawio
@@ -0,0 +1 @@
+7Vpdj5s4FP01fmyFbWzMI2QyW1W7aqVZadu+VAScBJVACmSS7K9fG0zChzMws5BJPzLSyL4GE+45HB/fAPBsc/gj9bbrv5KARwAZwQHgO4CQjZH4LwPHMkBsUgZWaRiUIXgOPIT/chU0VHQXBjxrHJgnSZSH22bQT+KY+3kj5qVpsm8etkyi5lW33op3Ag++F3Wj/4RBvi6jDFnn+DsertbVlSG1y5GNVx2s7iRbe0Gyr4XwHOBZmiR52docZjySuavyUp53f2H09MVSHudDTvj7bmN9/R4ZJjHZ/cz6vE/i3Rs1y6MX7dQNqy+bH6sMpMkuDricxADY3a/DnD9sPV+O7gXkIrbON5HoQdEMvGxdHCs7yyTOFaLQFP0sT5NvfJZESSpCcRKLEVd9AZ7m/HDxzuApX4JnPNnwPD2KQ9QJTGX4WFFH9fc1wCo+rWtgmaYKeookq9PU5zyKhkqlPq3fv7zP6Yf3x8ND8uisUPYlwu/eoG5a5xQI6ruGbLA74MxlwyWAwU7GBVO2srlNE59nWX/WF57/bVXg9GGXR2HMLwCwDKOoSj9AOPA4W/odYMQI9RlfLE/odKDQAHYRHWjYDXhOcNXggUgDD50KHXxN0o+QQdzKICTdDCJdBuFkKTS1BGc2cG0wJ8AxATPB3AK2ARiVERcC1k2zSEDezKVWI+q8VSEvClex6PoirVzEXZnOUOi2owY2YRDIy2jBa8I7OX6shR/t4kc18KGp0CPPQg/RSIK0SEVrJVs6LTOB6wIbF1A7snFJ1PyjEKiggKxP1UqQ/lz0ydyT+LU0b7nk1NdqXmDZC8MYCXHU0jzNkqRDnE2FOH328zqTEEugMWDzCfWxvSYRzoKuWRAjDC0wpePgY7bxgaRrGawuPmQqfKz+JYnHgSMNrXyGIi/LQr+ZZX4I80+19mcJzltEVPfuoMAqOseqE4tv/6neKU8jVfd8WtGrzivRqRwxeo5uZsku9Xm/ecq9dMXzfhXjQcPBdzGvYUo0z1wVS3nk5eFj0/frgFZX+JiE4s5OlEK4SSmMW1wp71udVffp7YnYBb9UTVQmpjNRwbvTbb+cimwqKv54TCQDmUhvm4kGeRkTcWuijvxNzES7n4k35dMJ6ffpp81pHXg82Ua02vaOafVu3uEt0QWHRxeUjOQgiHVjDg9etZQzQgbbu9rTgvl6u1qor9uUVZrf29qebS3WyN1Vt7VwQGFnsHV5a5ysc2lE6NP+petD5PBHnobi5iSU/8vlXN9dQ/PnNDWINicy2z59YlMD9aWzpzTmp96KY4u8JU1EdPX7a27GoaY+do0tkEZCXl0u6FC5MG5LLkzUlIuq4PPsPRDr0BO3lGdqwdDX7i4Jxm8L/1ILL6Ae5F+ms/CTVQF/PN2plsl+4bmt4gtBtEGqzio1VHhIuwx45eIL1NQBlW6UamMCh8mG+M9cNcTur2dPlkT+6USCFh81Qy1efsYRDws3V4XX/1UbDiiXadUjE0zKnxSV4QKB+hTiJfo0oqoYQ1WF3ZSqULslBm0WDVUVy2z/8HVdVUGaeuTVSUoLERibpcUM7f3+iNQd7MRvjLptxr10QbT6KgBTU1dTYBWrnj1T66BY/tz7C/Z7Jo23OJg5wIG/et2QMNzaUuleiCGwS8nJKoeVCrVf2LsHDgFzBhzRQDpsSbHrYgWkNnBpQYTyRRhx+lwi/2uCTInVfOxt1oHYGqc4LLrnt2jLp/38KjKe/wc=
\ No newline at end of file
diff --git a/doc/ch-big-data-intro/img/lambda.png b/doc/ch-big-data-intro/img/lambda.png
new file mode 100644
index 0000000..2054530
Binary files /dev/null and b/doc/ch-big-data-intro/img/lambda.png differ
diff --git a/doc/ch-big-data-intro/img/mapreduce-sandwichs.jpeg b/doc/ch-big-data-intro/img/mapreduce-sandwichs.jpeg
new file mode 100644
index 0000000..8ffaacc
Binary files /dev/null and b/doc/ch-big-data-intro/img/mapreduce-sandwichs.jpeg differ
diff --git a/doc/ch-big-data-intro/img/mpi.drawio b/doc/ch-big-data-intro/img/mpi.drawio
new file mode 100644
index 0000000..92a835f
--- /dev/null
+++ b/doc/ch-big-data-intro/img/mpi.drawio
@@ -0,0 +1 @@
+5VrdkpsgGH0aLtsRUMTLmM32Z2anndnOdHvpKkmcGkkN2SR9+mIEE5Ftd1sTU3PjygdCPOcshw8BeLzYviui5fyOJywDyEm2AN8AhAKM5LUM7KqAR/0qMCvSpArBQ+A+/clU0FHRdZqwVaOh4DwT6bIZjHmes1g0YlFR8E2z2ZRnzVGX0Yy1AvdxlLWjX9NEzKsoRf4h/p6ls7keGZKgqllEurF6k9U8SvjmKIQnAI8LzkV1t9iOWVZip3Gpnrt9prb+YQXLxUseQPjp7st29vE9fngIPr3Lt/zrxzdYdfMUZWv1xurXip2GoODrPGFlLw7A4WaeCna/jOKydiM5l7G5WGSyBOXtlOdCsQiJLK9Ewb+zMc94IUM5z2VNqMZkhWDbZ98G1hhJbTG+YKLYySbqAd+rnlCy0iBvjjgKVGx+xI/nqGCkdDGrez5AJ28Ueq9AsnMg0yzTsAGEE4/RxG0BKmsoesSEWKDvAGWocVUw0zbMkFhgxuhUMKM2zBMPhCMQuGDil9cRBRMKwlsQhGVEFmn4Gyrg66mIGJ3GNipITNnj9ERU4CYVgYUK10IFORUTbouJu88fOgV6OmUktgKd+MGj45wHaOj3jbRn0TwBAQb0BkxcEN6AYFxKPcQg3GteXoPbjqmYomeoII/EO9X0Y1Ahp++eqSAWKuQcA8FovKciBCHpFHgG5czv24APiI+jMwGPcd/A0yHaK8aXZq/Btdordi/MXnUCNDh/NZHu31+hZe1+HQZrctG/wULbAn+ADmsi37/DQjxEi/XcS7NY2E6crsRjPe/SPLadWQ3DY02kL8BjbZnTVXisycUFeKx/HR5rIn8BHjvINNZ3/UvzWFseW1srAVS6q6+kPsJ78TuAwgF4rO81uejdYzXHg/NYE+n+PRZdbR5rctG/x+qJfegeayLfv8eiF+SxLE9G5eEAUH+SPsK1wk9/7XefxY0lraMDf0TtCBXPAoqOFSyLRPrU7N6GlBrhM0/lwDUpyGkufFzXAHvF10XM1FMHvFsdUfyHjkRUzJhodbQnrn7tf+DSkiu/ikvJR7F7KNdSbz1d/HZcd7NVC62qtFOl7jSAnAqj361WBqGV+j9an/Qxj1qcWiuWz6T/mVb60gBFQUfzhdnRuTVgyWz/ce7/W1WccL6gfWrFhR3NF66RnZ9dKy/Ixf9/rVS7+n2JhaCuxGJs49cqPJdYLBsKiGRCkddQDfmx5rrizWpP60g2gHS5PVTKu9n+b5mFybwM6nRsrPuVv7PqWjU0tSnX7MImSOOs5XGWoEJRls5yWYylmpiMh2UGkMZRNlIVizRJymGsGUhzf+oU23bmisSSzNkyir/YTZLFwwHcSiuHU8x48gs=
\ No newline at end of file
diff --git a/doc/ch-big-data-intro/img/mpi.png b/doc/ch-big-data-intro/img/mpi.png
new file mode 100644
index 0000000..7f74b8e
Binary files /dev/null and b/doc/ch-big-data-intro/img/mpi.png differ
diff --git a/doc/ch-big-data-intro/img/producer-consumer.png b/doc/ch-big-data-intro/img/producer-consumer.png
new file mode 100644
index 0000000..d675d1f
Binary files /dev/null and b/doc/ch-big-data-intro/img/producer-consumer.png differ
diff --git a/doc/ch-big-data-intro/img/signal.drawio b/doc/ch-big-data-intro/img/signal.drawio
new file mode 100644
index 0000000..5c43da3
--- /dev/null
+++ b/doc/ch-big-data-intro/img/signal.drawio
@@ -0,0 +1 @@
+7Vptk5s2EP41+pgbQCDMR+PzJZlJM5leZ9p+yhCQgQlGLshnu7++EkgYhFLjFnzc5bgZn1i9wfPsSrtaAFxtj++LYJf8QiKcAcuIjgDeA8vyoMV+ueBUC5yFWwviIo1qkXkWPKZ/YyE0hHSfRrjsNKSEZDTddYUhyXMc0o4sKApy6DbbkKw76y6IcU/wGAZZX/p7GtGkli4s9yz/gNM4kTObyKtrtoFsLN6kTIKIHFoiuAZwVRBC69L2uMIZx07iUvd7+EFt82AFzumQDu9P5PFXK7E/2/5HI/utwB8/r96Zi3qYpyDbizcWT0tPEoKC7PMI81EMAP1DklL8uAtCXntgnDNZQrcZuzNZsXlL3jbOgrIU5Sgok2oQ3iok2zQUFRuSU8G7ifgItCDfG7CtRrIiGSmYJCc5a+uL58YFxccfImI2ODP9xGSLaXFiTWQH27lz6k5COz3B1eFMtYPEuEmLZuiKhoFQr7gZ/MwAKwgSriHEuxUhbQ465PQJGAFrG3WRbgy8BbUJjT7UpjEV1NIwXxvUEMLZQW2+Tqgtw5wb1PZlpHckzSku1k/sLUsdoA1whoK6biHepFkmRcCCXnUxeRZ8w9kXUqY0JTmrCzGflFVwxFO2w35SGnwjlJJtq8EyS2NeQQlnn+xpluZsdrnR84cLRJNmcPYeO/6a22PM/ZE7stmkIb6L8BP7V96FDMGvu4Q9+dcY57jgujKKzUm35qSQ3lIEC/X1wHYnUgPnshrgPFpyD4nDxy2owqLHdt9icNRzmS7C1N5QNeYgZQXOApo+dYfXYSNm+MI1ubWhu16HBdtSrKwk+yLEolfbV1IGQuaFgWhQxJj2Bqqoal77v7OHNOyhjApvqUMj+mtPZMW7svKjlqyBiXbHcyUrxdX/NQKeC3wE1l5VsMGa/S6B/yAnYM9bzyF6qFrDbIReuSoIUc9WVTvfplHEp9Eu/t3tYQSTRdJEJceG2zNZpNFVVRVGM1n3mVdux+B/P9vKzRx8JQh49rV7QEz2pgijK4JjunNThNFjwUl8YLO7jjYLZAs1nQu8mCyEHj2umwQ2x1LU7fmBmzRKa0dm7YhtGnQ9dVV/fnStV4MutOdm8vD1YLuAM8N2wInCC8HWlrv3bLAdEKa/FGyRNzNsdUH0y8TWkXvHbLAdEKu+FGydmfkJEso2tmubn9AsTbB2wOIB+C4vLB3g3/dgn8f5jJrUG4Eo5nWo8ZnRp8rVUDXZiY2lMQMtVex3uf55qIKufZEo3THwdERpjlTebIpt2h4cYlP2DamSa+2/bS3yhGiT4aNIYfjXZzNUPPExpX9wrBkk9d2foi8v3x8FDdXNCbTPoeebEbFQ1+OFEs1rMyJQOeWBcuAbZUTggLOJN7UYqhbq1xhQ5ruuVQvH8BS1gLdViwGHKm9qMVQtHEv9IArKD8SuVgzkqUMh67aqMSD+k6oRFoRHGZeilCof4gfh97jamVspk0119VMpD9WlUR9+r2tXEBqIZIrtjHWipEQ4Hupt8boIB062xetO6zrp7bBB5pzBhkZ16ZPaPvPhKk9uaYNFldT2DLBAVXYbAt+vCj7wBqe5z66XeVkv/i/pA/RqBD2wDMUXcDWR7sLTKML1+S12e/6ytbbo8+fBcP0P
\ No newline at end of file
diff --git a/doc/ch-big-data-intro/img/signal.png b/doc/ch-big-data-intro/img/signal.png
new file mode 100644
index 0000000..9be37a5
Binary files /dev/null and b/doc/ch-big-data-intro/img/signal.png differ
diff --git a/doc/ch-big-data-intro/img/state-stateless.drawio b/doc/ch-big-data-intro/img/state-stateless.drawio
new file mode 100644
index 0000000..04ebcdf
--- /dev/null
+++ b/doc/ch-big-data-intro/img/state-stateless.drawio
@@ -0,0 +1 @@
+7Vpbc9o4GP01mtl9oGNLtiw/AiXt7HQ7mWS23T7tGFtgT4zFyiJAfv1KWA7YEoUGHEi7Lxn508XWOTrfRQGg4Wz1gUfz9E+W0BxAJ1kB9B5AGCIo/yrDujL4JKgMU54llcndGu6zJ6qNjrYusoSWjYGCsVxk86YxZkVBY9GwRZyzZXPYhOXNt86jKTUM93GUm9avWSLSykpgsLV/pNk0rd/s4rDqmUX1YL2TMo0SttwxoRFAQ86YqFqz1ZDmCrsal2rezZ7e5w/jtBDHTJj89Xf4zf/0EPdiUUbF5xH+8k8P4mqZxyhf6B3rrxXrGgLOFkVC1SoOQINlmgl6P49i1buUnEtbKma5fHJlc8IKoVl0sXwuBWcPdMhyxqWpYIXsGZifrnfzSLmgqx2T3soHymZU8LUconuRRnW5JSUINSnpDiEo0AMjfRCmz0ttsZINDdcPQOd6HUM3yfK8Bg5AlPiUJJ4BqewhcIwwPg+uXn1c1zXOJtAudixAk45wrj9oF+cRBgMfEBeMfND3APHAKAChAwhWlsEQhL4aEyJARgYpEgnRRJ7TMnuKxpsBiqhoIVipmVCPeTYtZDuWsFKJ+UDBmUkf0dcdsyxJ1OTBnGWF2ADgD4D/vkWiPv1WSTRPSvsonINYz28RG5rEOhZiYVcCguiwgGiR9JUXV+jnUVlmcZO5vcDQpOHXTVh2tu1bdl3bOM0jkT02o4ENCv2GW3UCtqhjpyUntyWTki14TPWsXe/dXig8sJCI+JQKY6ENM8/bPoEs36LCAJA+GGAlNeIoOUKcK2mNuWxNVatczH77KJdnv8s5Jr0yJs5VU2opZwtx2EfOKc/kVpQK60m3W5MZfap2gDbaLDORMaVX552/a4GVybP43IiSSWzzuTgmdDw5kzQD0uDWDYkpzVotaSPbQKdr86akn/4omPcwd74R3EtvkUh7ZmzbsHjeAHcO6PymLCD2DehCW7Q6g1OzAmfK5DqBw457MeCGd6uncRE9fb6753ckTydi+m/PNYB7YTBoeX4LTpcKBq4fvmsGYddrLXJsOEDw4FJ7AoJEMFrvDNMpy96Pht6+N23ZrtZ8abyxHge4T0fOTZ4VD13oyRDPUUennuCgBkh1mXspOXVd1720ODkJZM81zmK9r9coT6xAExPoX7M6OY3Z+kKl5hW5Jq9dVSf2eGQpO3+2gOSHpm9v4Xl0fUIOLnW+CsVOmFlO1iHjK+N5cn0hw0D/0kHDcqV1ndEWhsG1Qbc38Xc2TziaKVg2RfHmmzoqCk7zwsg7BOqzY34dVM005jqRw45zbQcyMOOXSjoC0HcsNzcjAvoj0HdVl2zUV+nfTUysqYIlpTg+Q7ER13nuEcBW4HIt1Pkmdd2lHvacMhwCEv5P3feog6F5qf2q1MFf8hrjxbfa5jXGsffap19j1G/q9hrjrd9jQOxdNo5Z/kv01tL6y2P4dvP6DrGTj9tfX1SC3/6EBY3+Aw==
\ No newline at end of file
diff --git a/doc/ch-big-data-intro/img/state-stateless.png b/doc/ch-big-data-intro/img/state-stateless.png
new file mode 100644
index 0000000..5cdc8e1
Binary files /dev/null and b/doc/ch-big-data-intro/img/state-stateless.png differ
diff --git a/doc/ch-programming-basics/img/extend.drawio b/doc/ch-programming-basics/img/extend.drawio
new file mode 100644
index 0000000..10c0d41
--- /dev/null
+++ b/doc/ch-programming-basics/img/extend.drawio
@@ -0,0 +1 @@
+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
\ No newline at end of file
diff --git a/doc/ch-programming-basics/img/extend.png b/doc/ch-programming-basics/img/extend.png
new file mode 100644
index 0000000..8e6a723
Binary files /dev/null and b/doc/ch-programming-basics/img/extend.png differ
diff --git a/doc/ch-programming-basics/img/lambda.drawio b/doc/ch-programming-basics/img/lambda.drawio
new file mode 100644
index 0000000..13347a7
--- /dev/null
+++ b/doc/ch-programming-basics/img/lambda.drawio
@@ -0,0 +1 @@
+7Vhtb9owEP41lrZJrZKYJPCRQNpp06Z17bR9dYkJ1pw4M+al+/U7J84bgdFR6NqtIMB5fD7bz3MXH0F4lKwvJclmH0REOXKsaI3wGDnOADvwrYG7AnD7BogliwrIroFr9pMa0DLogkV03jJUQnDFsjY4EWlKJ6qFESnFqm02Fbw9a0Zi2gGuJ4R30a8sUrMC7Tt+jb+lLJ6VM9veoOhJSGlsdjKfkUisGhAOER5JIVTRStYjyjV3JS/FuIsdvdXCJE3VfQaslPMlvYr58r33mVwp9e7b8uaspHlJ+MLs2KxW3ZUUSLFII6q9WAgHqxlT9DojE927As0Bm6mEw5UNzbmS4jsdCS4kIKlIwSzoLtWsfkmlousGZJZ+SUVClbwDk7LXNSs1cWQPcHG9qlXxesZm1lLEgMREQlz5rsmChuHrT7jbQp3HYdpgKmCfEGwFSYD+WGiVg5FYSEYldH2kqxpu0V2C2sfZPM+HIRjYXrZujvBi/fsqEotbGOhY8nU5OeylmL8w6cgJhKt7aDZlnG9AhLM4hcsJyAi7wIGWj0GuDE1HwqJIT7M1SNphdIyQ8DZDwuqERBU2zZDwThURzr6IOFDmM2iQRJNoJH1OSuslXpCEcS0TqChjRo4TANh2WwFQHRqNANh2S3BOpT/eqX/ElofLf/BtxQz3gyp+0tt51vA4z0hamlW3kozBVz6Bhc/tHpCMdzoAmpo+tvmVVC1kqm9R8HnT+IV5HuQY+eM91p0EqeBcjyedNsfIj80z03e7+YG3JMjgVAnS219t0DQa6rqtZrUhRJNz5OCpq98dgaDHy19VT1m6Ob8jlkatUrBLa4O2bcdKiUnKiWLLdgG5jUozwyfB8rwuNe23Vav8li7mkO4TakY1C74NR5WMuxwpImOqOo5yZattHy62+yL2XrGx7Z27x5Ebu3ifqxML7r0IvlfwnnMkuX3r74rt76x1HlbrorCPghDB37vQRX0XDd28cYH6Dgo9NHBRYD2vAvgIJ3nnTPC6J3n1R/dRSt3+TvmLQuxw+X00DNFwrFUf9lDQ21nj/atiO09O7MHJxIbM9lEwrjM77OlL/XDnP1PdtR9PdbisnzsWB0L98BaHvwA=
\ No newline at end of file
diff --git a/doc/ch-programming-basics/img/lambda.png b/doc/ch-programming-basics/img/lambda.png
new file mode 100644
index 0000000..64a6bd6
Binary files /dev/null and b/doc/ch-programming-basics/img/lambda.png differ
diff --git a/doc/ch-programming-basics/img/stream.drawio b/doc/ch-programming-basics/img/stream.drawio
new file mode 100644
index 0000000..1ace2aa
--- /dev/null
+++ b/doc/ch-programming-basics/img/stream.drawio
@@ -0,0 +1 @@
+5Zddb5swFIZ/DZebwHxfrmmbSlO1SZHW7tKDE7BqMDJOgP36mdiEr3TJonZC6g3ivLYPnOe8ssGwV1m95rhIH1kM1EBmXBv2rYFQaCN5bYVGCW6ghYSTWElWL2zIb9CiqdUdiaEcTRSMUUGKsRixPIdIjDTMOavG07aMjp9a4ARmwibCdK4+kVikSg2Q3+sPQJK0e7LlhWokw91kXUmZ4phVA8m+M+wVZ0you6xeAW3ZdVzUuvtXRo8vxiEXlyxIn0z3Byk3L49fi1/fINo26/yTp7LsMd3pgvXLiqYjwNkuj6FNYhr2TZUSAZsCR+1oJVsutVRkVEaWvN2yXOgmWp6MS8HZC6wYZVxKOcvlyM38zXUxe+AC6oGkK1kDy0DwRk7Ro46tVmhXWSH67Cql6rvkOxp9OuyQqydi7YzkmLyHJ280v39gac1YbgQHnEmNbeUFKGSy4vLNCCPzbWD6Y5iowzZAicwTKD3znUiiGcktoQL44sjZznl04f8k58zIZRLD0rC55sKwuTNsEaO0PU+Whs7zFobOP3+CQB5/aY9iGUUUlyWJ/n5oQE3Esx5r73+2tOX+rqLbWsM/BE0X5LKY52EwWNWG/bJD1K17tSUl2/EIzm/3AvMExPnNDOLRh8a8wYMGuica2GkcKBZkP/48OdVV/YTvjMjK+h2r+xzpTk5zYgxVt141/JyYJvLHidxJHsVllufgsWPV19su+Ki2QxfazlmU7VAw2baCa23nnkn0zr4LP6rvnAt95y7Ld+HELuG1vpueu9NEV/tOhv1PoJre/0nbd38A
\ No newline at end of file
diff --git a/doc/ch-programming-basics/img/stream.png b/doc/ch-programming-basics/img/stream.png
new file mode 100644
index 0000000..491877c
Binary files /dev/null and b/doc/ch-programming-basics/img/stream.png differ