diff --git a/output.csv b/output.csv
index 59a2b5b10ebc9dff6399021b41e2590cee85f1f1..91440609587d156f951da90857748eee02219a31 100644
--- a/output.csv
+++ b/output.csv
@@ -1,37 +1,772 @@
 SUCEPTIBLE,EXPOSED,RECOVERED,INFECTED
-9995,4,0,1
-9988,9,0,3
-9957,32,0,11
-9881,90,0,29
-9795,132,3,70
-9666,197,11,126
-9520,245,20,215
-9307,336,35,322
-9093,369,53,485
-8817,445,80,658
-8495,537,122,846
-8172,597,171,1060
-7811,663,237,1289
-7405,725,319,1551
-6958,821,419,1802
-6496,863,536,2105
-6028,879,668,2425
-5539,940,808,2713
-5093,899,983,3025
-4676,842,1177,3305
-4255,822,1389,3534
-3793,875,1604,3728
-3383,832,1822,3963
-2968,827,2050,4155
-2577,805,2301,4317
-2186,816,2561,4437
-1792,818,2811,4579
-1373,804,3091,4732
-1036,764,3395,4805
-763,653,3670,4914
-554,519,3953,4974
-393,403,4256,4948
-301,282,4565,4852
-212,218,4873,4697
-135,192,5176,4497
-86,145,5454,4315
+9994,5,0,1
+9980,16,0,4
+9953,34,0,13
+9867,106,0,27
+9753,175,0,72
+9592,247,5,156
+9401,314,13,272
+9184,386,27,403
+8928,434,54,584
+8643,501,88,768
+8305,589,144,962
+7943,639,197,1221
+7544,706,265,1485
+7139,754,360,1747
+6739,777,472,2012
+6333,812,606,2249
+5909,808,721,2562
+5487,827,880,2806
+5051,851,1057,3041
+4601,859,1246,3294
+4117,918,1432,3533
+3638,925,1661,3776
+3239,850,1923,3988
+2858,780,2167,4195
+2482,770,2423,4325
+2146,724,2692,4438
+1798,699,2954,4549
+1505,625,3221,4649
+1246,566,3508,4680
+1009,490,3783,4718
+775,465,4042,4718
+577,432,4342,4649
+418,363,4626,4593
+298,294,4926,4482
+222,217,5169,4392
+168,157,5428,4247
+113,113,5680,4094
+76,102,5925,3897
+32,98,6168,3702
+12,83,6399,3506
+3,50,6602,3345
+1,29,6821,3149
+0,15,7015,2970
+0,8,7184,2808
+0,4,7345,2651
+0,2,7495,2503
+0,0,7648,2352
+0,0,7798,2202
+0,0,7955,2045
+0,0,8087,1913
+0,0,8210,1790
+0,0,8312,1688
+0,0,8421,1579
+0,0,8519,1481
+0,0,8616,1384
+0,0,8698,1302
+0,0,8788,1212
+0,0,8856,1144
+0,0,8931,1069
+0,0,8992,1008
+0,0,9052,948
+0,0,9107,893
+0,0,9156,844
+0,0,9208,792
+0,0,9259,741
+0,0,9319,681
+0,0,9360,640
+0,0,9400,600
+0,0,9443,557
+0,0,9473,527
+0,0,9510,490
+0,0,9541,459
+0,0,9573,427
+0,0,9599,401
+0,0,9620,380
+0,0,9638,362
+0,0,9658,342
+0,0,9674,326
+0,0,9694,306
+0,0,9710,290
+0,0,9728,272
+0,0,9738,262
+0,0,9750,250
+0,0,9759,241
+0,0,9772,228
+0,0,9790,210
+0,0,9805,195
+0,0,9819,181
+0,0,9833,167
+0,0,9842,158
+0,0,9856,144
+0,0,9866,134
+0,0,9871,129
+0,0,9877,123
+0,0,9886,114
+0,0,9895,105
+0,0,9903,97
+0,0,9908,92
+0,0,9919,81
+0,0,9925,75
+0,0,9929,71
+0,0,9934,66
+0,0,9937,63
+0,0,9939,61
+0,0,9941,59
+0,0,9944,56
+0,0,9950,50
+0,0,9955,45
+0,0,9957,43
+0,0,9959,41
+0,0,9962,38
+0,0,9963,37
+0,0,9967,33
+0,0,9970,30
+0,0,9973,27
+0,0,9973,27
+0,0,9976,24
+0,0,9977,23
+0,0,9978,22
+0,0,9978,22
+0,0,9980,20
+0,0,9982,18
+0,0,9983,17
+0,0,9984,16
+0,0,9985,15
+0,0,9985,15
+0,0,9985,15
+0,0,9986,14
+0,0,9987,13
+0,0,9987,13
+0,0,9988,12
+0,0,9989,11
+0,0,9992,8
+0,0,9992,8
+0,0,9992,8
+0,0,9992,8
+0,0,9993,7
+0,0,9994,6
+0,0,9995,5
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9996,4
+0,0,9997,3
+0,0,9997,3
+0,0,9997,3
+0,0,9997,3
+0,0,9997,3
+0,0,9998,2
+0,0,9998,2
+0,0,9998,2
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,9999,1
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
+0,0,10000,0
diff --git a/src/main/java/sma/scheduler/FairAsynchronousScheduler.java b/src/main/java/sma/scheduler/FairAsynchronousScheduler.java
index 0b9e228b381acba2ff83e2bf1e39496038432053..b9bb5e65d839d8070993da8a189e93c68500b4dc 100644
--- a/src/main/java/sma/scheduler/FairAsynchronousScheduler.java
+++ b/src/main/java/sma/scheduler/FairAsynchronousScheduler.java
@@ -4,15 +4,36 @@ import sma.agents.Agent;
 
 import java.util.Arrays;
 import java.util.List;
+import java.util.Queue;
+import java.util.concurrent.*;
+import java.util.function.Function;
+import java.util.stream.Collectors;
+
 public class FairAsynchronousScheduler implements Scheduler{
 
-    private List<Agent> agents;
+    private ExecutorService executor = Executors.newSingleThreadExecutor();
+    private Queue<Agent> queue;
 
     public FairAsynchronousScheduler(Agent[] agents) {
-        this.agents = Arrays.asList(agents);
+        this.queue = new ConcurrentLinkedQueue<>(Arrays.stream(agents).toList());
     }
 
     public void nextCycle() {
-        agents.stream().parallel().forEach(a -> a.wakeUp());
+
+        List<Future<Agent>> results = queue.parallelStream().map(agent -> executor.submit(() -> {agent.wakeUp(); return agent;})).collect(Collectors.toList());
+        Function<Future<Agent>,Agent> futureTreatment = futureAgent -> {
+            try {
+                return futureAgent.get();
+            } catch (ExecutionException e) {
+                e.printStackTrace();
+            } catch (InterruptedException e) {
+                e.printStackTrace();
+            }
+            return null;
+        };
+
+        List<Agent> nextQueue = results.parallelStream().map(futureTreatment).collect(Collectors.toList());
+        queue = new ConcurrentLinkedQueue<>(nextQueue);
     }
+
 }