diff --git a/Work 1/Choutouridis_Christos_8997_Lab01.zip b/Work 1/Choutouridis_Christos_8997_Lab01.zip
new file mode 100644
index 0000000..4893841
Binary files /dev/null and b/Work 1/Choutouridis_Christos_8997_Lab01.zip differ
diff --git a/Work 1/Work1_report.pdf b/Work 1/Work1_report.pdf
new file mode 100644
index 0000000..275b13d
Binary files /dev/null and b/Work 1/Work1_report.pdf differ
diff --git a/Work 1/report/Work1_report.pdf b/Work 1/report/Work1_report.pdf
index 275b13d..55da4f2 100644
Binary files a/Work 1/report/Work1_report.pdf and b/Work 1/report/Work1_report.pdf differ
diff --git a/Work 1/report/Work1_report.tex b/Work 1/report/Work1_report.tex
index d16c234..710286e 100644
--- a/Work 1/report/Work1_report.tex	
+++ b/Work 1/report/Work1_report.tex	
@@ -89,7 +89,7 @@
 \begin{itemize}
     \item Την παρούσα αναφορά.
     \item Τον κατάλογο \textbf{scripts/}, που περιέχει τον κώδικα της MATLAB.
-    \item Το \href{https://git.hoo2.net/hoo2/SystemModling}{σύνδεσμο} με το αποθετήριο που περιέχει όλο το project με τον κώδικα της MATLAB, της αναφοράς και τα παραδοτέα.
+    \item Το \href{https://git.hoo2.net/hoo2/SystemModling/src/branch/master/Work%201}{σύνδεσμο} με το αποθετήριο που περιέχει όλο το project με τον κώδικα της MATLAB, της αναφοράς και τα παραδοτέα.
 \end{itemize}
 
 \section*{Θέμα 1 – Μοντελοποίηση και Προσομοίωση Συστήματος Εκκρεμούς}
@@ -143,10 +143,10 @@
 Για τον λόγο αυτό, επεκτείναμε τη διάρκεια προσομοίωσης στα $90$ δευτερόλεπτα.
 Όπως φαίνεται στο Σχήμα~\ref{fig:90s}, το σύστημα σταθεροποιείται τελικά σε περιοδική μορφή περίπου μετά από $50$ δευτερόλεπτα.
 
-\InsertFigure{!ht}{1}{fig:20s}{../scripts/Prob1_responce_20s.png}{
+\InsertFigure{!ht}{1}{fig:20s}{../scripts/output/Prob1_responce_20s.png}{
     Απόκριση του συστήματος για $t \in [0, 20]$ sec. Η μεταβατική φάση παραμένει ενεργή.
 }
-\InsertFigure{!ht}{1}{fig:90s}{../scripts/Prob1_responce_90s.png}{
+\InsertFigure{!ht}{1}{fig:90s}{../scripts/output/Prob1_responce_90s.png}{
     Απόκριση του συστήματος για $t \in [0, 90]$ sec. Το σύστημα σταθεροποιείται σε περιοδική συμπεριφορά μετά τα $50$ sec.
 }
 
@@ -187,7 +187,7 @@
 \]
 Στο Σχήμα~\ref{fig:prob2a} παρουσιάζονται η πραγματική και η εκτιμώμενη γωνία, καθώς και το σφάλμα $e_q(t)$ μεταξύ τους.
 
-\InsertFigure{!ht}{1}{fig:prob2a}{../scripts/Prob2_20s_Ts0.1.png}{
+\InsertFigure{!ht}{1}{fig:prob2a}{../scripts/output/Prob2_20s_Ts0.1.png}{
     Αποτελέσματα εκτίμησης παραμέτρων με χρήση όλων των μεταβλητών κατάστασης.
 }
 \paragraph*{Συμπεράσματα:}
@@ -204,7 +204,7 @@
 \]
 Ακολουθείται η ίδια διαδικασία παλινδρόμησης με την περίπτωση (α), όπως και η ανακατασκευή της απόκρισης. Το Σχήμα~\ref{fig:prob2b} δείχνει τα αντίστοιχα αποτελέσματα.
 
-\InsertFigure{!ht}{1}{fig:prob2b}{../scripts/Prob2b_20s_Ts0.1.png}{
+\InsertFigure{!ht}{1}{fig:prob2b}{../scripts/output/Prob2b_20s_Ts0.1.png}{
     Αποτελέσματα εκτίμησης παραμέτρων με χρήση μόνο του $q(t)$ και του $u(t)$.
 }
 
@@ -238,13 +238,13 @@
     \hspace{-2em}
     \begin{minipage}{0.49\textwidth}
         \centering
-        \includegraphics[width=1.15\linewidth]{../scripts/Prob3a_NoiseStd0.0010.png}
+        \includegraphics[width=1.15\linewidth]{../scripts/output/Prob3a_NoiseStd0.0010.png}
         \caption{Εκτίμηση με $\sigma = 0.001$}
     \end{minipage}
     \hspace{0.5em}
     \begin{minipage}{0.49\textwidth}
         \centering
-        \includegraphics[width=1.15\linewidth]{../scripts/Prob3a_NoiseStd0.0025.png}
+        \includegraphics[width=1.15\linewidth]{../scripts/output/Prob3a_NoiseStd0.0025.png}
         \caption{Εκτίμηση με $\sigma = 0.0025$}
     \end{minipage}
 \end{figure}
@@ -280,7 +280,7 @@
     \caption{Εκτιμήσεις και ποσοστά σφάλματος παραμέτρων για διαφορετικές περιόδους $T_s$}
 \end{table}
 
-\InsertFigure{!ht}{1}{fig:3b}{../scripts/Prob3b_SamplingPeriodEffect.png}{
+\InsertFigure{!ht}{1}{fig:3b}{../scripts/output/Prob3b_SamplingPeriodEffect.png}{
     Σφάλμα εκτίμησης ως προς την περίοδο δειγματοληψίας $T_s$.
 }
 
@@ -319,7 +319,7 @@
     \caption{Εκτιμήσεις και ποσοστά σφάλματος παραμέτρων για διαφορετικά πλάτη $A_0$}
 \end{table}
 
-\InsertFigure{!ht}{1}{fig:3c}{../scripts/Prob3c_AmplitudeEffect.png}{
+\InsertFigure{!ht}{1}{fig:3c}{../scripts/output/Prob3c_AmplitudeEffect.png}{
     Σφάλμα εκτίμησης παραμέτρων συναρτήσει του πλάτους εισόδου $A_0$.
 }
 
diff --git a/Work 1/scripts/Prob3a_NoiseStd0.0010.png b/Work 1/scripts/Prob3a_NoiseStd0.0010.png
deleted file mode 100644
index 7af1591..0000000
Binary files a/Work 1/scripts/Prob3a_NoiseStd0.0010.png and /dev/null differ
diff --git a/Work 1/scripts/Prob3a_NoiseStd0.0025.png b/Work 1/scripts/Prob3a_NoiseStd0.0025.png
deleted file mode 100644
index c5dae5c..0000000
Binary files a/Work 1/scripts/Prob3a_NoiseStd0.0025.png and /dev/null differ
diff --git a/Work 1/scripts/Prob3c_AmplitudeEffect.png b/Work 1/scripts/Prob3c_AmplitudeEffect.png
deleted file mode 100644
index cb1301d..0000000
Binary files a/Work 1/scripts/Prob3c_AmplitudeEffect.png and /dev/null differ
diff --git a/Work 1/scripts/Problem1.m b/Work 1/scripts/Problem1.m
index 542b262..7066e80 100644
--- a/Work 1/scripts/Problem1.m	
+++ b/Work 1/scripts/Problem1.m	
@@ -28,11 +28,11 @@ subplot(2,1,1);
 plot(t, x(:,1)); ylabel('q(t) [rad]'); grid on; title('Γωνία');
 subplot(2,1,2);
 plot(t, x(:,2), 'r'); ylabel('dq(t) [rad/s]'); xlabel('t [sec]'); grid on; title('Γωνιακή Ταχύτητα');
-saveas(gcf, 'Prob1_responce_20s.png');
+saveas(gcf, 'output/Prob1_responce_20s.png');
 
 % === Sampling for Problem 2 ===
 Ts = 0.1;                          % Sampling period
-sample_data(t, x, Ts, A0, omega, 'problem1_data.csv');
+sample_data(t, x, Ts, A0, omega, 'output/problem1_data.csv');
 
 % --- Extended simulation to 90 sec ---
 tspan = [0 90];
@@ -47,4 +47,4 @@ subplot(2,1,1);
 plot(t, x(:,1)); ylabel('q(t) [rad]'); grid on; title('Γωνία');
 subplot(2,1,2);
 plot(t, x(:,2), 'r'); ylabel('dq(t) [rad/s]'); xlabel('t [sec]'); grid on; title('Γωνιακή Ταχύτητα');
-saveas(gcf, 'Prob1_responce_90s.png');
+saveas(gcf, 'output/Prob1_responce_90s.png');
diff --git a/Work 1/scripts/Problem2a.m b/Work 1/scripts/Problem2a.m
index eef38b5..de40d96 100644
--- a/Work 1/scripts/Problem2a.m	
+++ b/Work 1/scripts/Problem2a.m	
@@ -12,7 +12,7 @@ mgL_true = m * g * L;
 theta_true = [mL2_true; c_true; mgL_true];
 
 % Load sampled data from Problem 1
-data = readtable('problem1_data.csv');
+data = readtable('output/problem1_data.csv');
 t = data.t;
 q = data.q;
 dq = data.dq;
@@ -73,7 +73,7 @@ bar(["mL^2", "c", "mgL"], theta_hat);
 title('Estimated Parameters');
 ylabel('Value');
 grid on;
-saveas(gcf, 'Prob2_20s_Ts0.1.png');
+saveas(gcf, 'output/Prob2_20s_Ts0.1.png');
 
 fprintf('   Actual Parameters:  mL^2=%f, c=%f, mgL=%f\n', theta_true(1), theta_true(2), theta_true(3));
 fprintf('Estimated Parameters:  mL^2=%f, c=%f, mgL=%f\n', theta_hat(1), theta_hat(2), theta_hat(3));
diff --git a/Work 1/scripts/Problem2b.m b/Work 1/scripts/Problem2b.m
index dee06ea..4f1b6af 100644
--- a/Work 1/scripts/Problem2b.m	
+++ b/Work 1/scripts/Problem2b.m	
@@ -12,7 +12,7 @@ mgL_true = m * g * L;
 theta_true = [mL2_true; c_true; mgL_true];
 
 % Load sampled data
-data = readtable('problem1_data.csv');
+data = readtable('output/problem1_data.csv');
 t = data.t;
 q = data.q;
 u = data.u;
@@ -81,7 +81,7 @@ ylabel('Value');
 grid on;
 
 % Save figure
-saveas(gcf, 'Prob2b_20s_Ts0.1.png');
+saveas(gcf, 'output/Prob2b_20s_Ts0.1.png');
 
 % Print results
 fprintf('   Actual Parameters:  mL^2=%f, c=%f, mgL=%f\n', theta_true(1), theta_true(2), theta_true(3));
diff --git a/Work 1/scripts/Problem3a.m b/Work 1/scripts/Problem3a.m
index 669769c..0e72868 100644
--- a/Work 1/scripts/Problem3a.m	
+++ b/Work 1/scripts/Problem3a.m	
@@ -13,7 +13,7 @@ mgL_true = m * g * L;
 theta_true = [mL2_true; c; mgL_true];
 
 % Load clean data
-data = readtable('problem1_data.csv');
+data = readtable('output/problem1_data.csv');
 t = data.t;
 q_clean = data.q;
 u = data.u;
@@ -109,6 +109,6 @@ for i = 1:length(noise_levels)
     grid on;
 
     % Save figure
-    filename = sprintf('Prob3a_NoiseStd%.4f.png', noise_std);
+    filename = sprintf('output/Prob3a_NoiseStd%.4f.png', noise_std);
     saveas(gcf, filename);
 end
diff --git a/Work 1/scripts/Problem3b.m b/Work 1/scripts/Problem3b.m
index 8334db1..03f15e5 100644
--- a/Work 1/scripts/Problem3b.m	
+++ b/Work 1/scripts/Problem3b.m	
@@ -77,4 +77,4 @@ ylabel('Relative Error [%]');
 title('Effect of Ts on Parameter Estimation');
 grid on;
 
-saveas(gcf, 'Prob3b_SamplingPeriodEffect.png');
+saveas(gcf, 'output/Prob3b_SamplingPeriodEffect.png');
diff --git a/Work 1/scripts/Problem3c.m b/Work 1/scripts/Problem3c.m
index 4f5b13e..6035381 100644
--- a/Work 1/scripts/Problem3c.m	
+++ b/Work 1/scripts/Problem3c.m	
@@ -19,7 +19,7 @@ dt = 1e-4;       % integration resolution
 T_final = 20;    % simulation time
 
 % Amplitudes to test
-A0_list = [1, 2, 4, 6, 8, 16, 32];
+A0_list = [1, 2, 4, 6, 8, 16];
 n_cases = length(A0_list);
 rel_errors_all = zeros(3, n_cases);
 
@@ -75,4 +75,4 @@ title('Effect of Input Amplitude on Parameter Estimation');
 grid on;
 ylim([0 1.1]);
 
-saveas(gcf, 'Prob3c_AmplitudeEffect.png');
+saveas(gcf, 'output/Prob3c_AmplitudeEffect.png');
diff --git a/Work 1/scripts/Prob1_responce_20s.png b/Work 1/scripts/output/Prob1_responce_20s.png
similarity index 99%
rename from Work 1/scripts/Prob1_responce_20s.png
rename to Work 1/scripts/output/Prob1_responce_20s.png
index 33d0ce2..e47a794 100644
Binary files a/Work 1/scripts/Prob1_responce_20s.png and b/Work 1/scripts/output/Prob1_responce_20s.png differ
diff --git a/Work 1/scripts/Prob1_responce_90s.png b/Work 1/scripts/output/Prob1_responce_90s.png
similarity index 99%
rename from Work 1/scripts/Prob1_responce_90s.png
rename to Work 1/scripts/output/Prob1_responce_90s.png
index 53a9e5c..ba2d88b 100644
Binary files a/Work 1/scripts/Prob1_responce_90s.png and b/Work 1/scripts/output/Prob1_responce_90s.png differ
diff --git a/Work 1/scripts/Prob2_20s_Ts0.1.png b/Work 1/scripts/output/Prob2_20s_Ts0.1.png
similarity index 99%
rename from Work 1/scripts/Prob2_20s_Ts0.1.png
rename to Work 1/scripts/output/Prob2_20s_Ts0.1.png
index 573e208..7be84c9 100644
Binary files a/Work 1/scripts/Prob2_20s_Ts0.1.png and b/Work 1/scripts/output/Prob2_20s_Ts0.1.png differ
diff --git a/Work 1/scripts/Prob2b_20s_Ts0.1.png b/Work 1/scripts/output/Prob2b_20s_Ts0.1.png
similarity index 99%
rename from Work 1/scripts/Prob2b_20s_Ts0.1.png
rename to Work 1/scripts/output/Prob2b_20s_Ts0.1.png
index 3d807d0..7137ff5 100644
Binary files a/Work 1/scripts/Prob2b_20s_Ts0.1.png and b/Work 1/scripts/output/Prob2b_20s_Ts0.1.png differ
diff --git a/Work 1/scripts/Prob3_Error_vs_Duration.png b/Work 1/scripts/output/Prob3_Error_vs_Duration.png
similarity index 100%
rename from Work 1/scripts/Prob3_Error_vs_Duration.png
rename to Work 1/scripts/output/Prob3_Error_vs_Duration.png
diff --git a/Work 1/scripts/Prob3a_ComparisonPlot.png b/Work 1/scripts/output/Prob3a_ComparisonPlot.png
similarity index 100%
rename from Work 1/scripts/Prob3a_ComparisonPlot.png
rename to Work 1/scripts/output/Prob3a_ComparisonPlot.png
diff --git a/Work 1/scripts/Prob3a_NoiseEffect.png b/Work 1/scripts/output/Prob3a_NoiseEffect.png
similarity index 100%
rename from Work 1/scripts/Prob3a_NoiseEffect.png
rename to Work 1/scripts/output/Prob3a_NoiseEffect.png
diff --git a/Work 1/scripts/output/Prob3a_NoiseStd0.0010.png b/Work 1/scripts/output/Prob3a_NoiseStd0.0010.png
new file mode 100644
index 0000000..b69adbc
Binary files /dev/null and b/Work 1/scripts/output/Prob3a_NoiseStd0.0010.png differ
diff --git a/Work 1/scripts/output/Prob3a_NoiseStd0.0025.png b/Work 1/scripts/output/Prob3a_NoiseStd0.0025.png
new file mode 100644
index 0000000..2656679
Binary files /dev/null and b/Work 1/scripts/output/Prob3a_NoiseStd0.0025.png differ
diff --git a/Work 1/scripts/Prob3b_SamplingPeriodEffect.png b/Work 1/scripts/output/Prob3b_SamplingPeriodEffect.png
similarity index 99%
rename from Work 1/scripts/Prob3b_SamplingPeriodEffect.png
rename to Work 1/scripts/output/Prob3b_SamplingPeriodEffect.png
index 35416ba..7e40ae9 100644
Binary files a/Work 1/scripts/Prob3b_SamplingPeriodEffect.png and b/Work 1/scripts/output/Prob3b_SamplingPeriodEffect.png differ
diff --git a/Work 1/scripts/output/Prob3c_AmplitudeEffect.png b/Work 1/scripts/output/Prob3c_AmplitudeEffect.png
new file mode 100644
index 0000000..dc05b67
Binary files /dev/null and b/Work 1/scripts/output/Prob3c_AmplitudeEffect.png differ
diff --git a/Work 1/scripts/problem1_data.csv b/Work 1/scripts/output/problem1_data.csv
similarity index 100%
rename from Work 1/scripts/problem1_data.csv
rename to Work 1/scripts/output/problem1_data.csv
diff --git a/Work 1/scripts/problem3_data_T10s.csv b/Work 1/scripts/output/problem3_data_T10s.csv
similarity index 100%
rename from Work 1/scripts/problem3_data_T10s.csv
rename to Work 1/scripts/output/problem3_data_T10s.csv
diff --git a/Work 1/scripts/problem3_data_T20s.csv b/Work 1/scripts/output/problem3_data_T20s.csv
similarity index 100%
rename from Work 1/scripts/problem3_data_T20s.csv
rename to Work 1/scripts/output/problem3_data_T20s.csv
diff --git a/Work 1/scripts/problem3_data_T40s.csv b/Work 1/scripts/output/problem3_data_T40s.csv
similarity index 100%
rename from Work 1/scripts/problem3_data_T40s.csv
rename to Work 1/scripts/output/problem3_data_T40s.csv
diff --git a/Work 1/scripts/problem3_data_T60s.csv b/Work 1/scripts/output/problem3_data_T60s.csv
similarity index 100%
rename from Work 1/scripts/problem3_data_T60s.csv
rename to Work 1/scripts/output/problem3_data_T60s.csv
diff --git a/Work 1/scripts/problem3_data_T90s.csv b/Work 1/scripts/output/problem3_data_T90s.csv
similarity index 100%
rename from Work 1/scripts/problem3_data_T90s.csv
rename to Work 1/scripts/output/problem3_data_T90s.csv