Similar to:
C489 task 3