HW-5, task 1 done
with comments and unit-tests