[Lab04, Lab05]: Implement tasks 4, 5. Start task 6 implementation.