tasks 1-3 solved
TODO: Task 4 Unit tests