task 19
task 20 -22