lab4
4.2
4.3
4.4
meh
4.5
4.6
refactoring