task 2.30-2.31
task 2.32