feat(lab2): solve q3
feat(lab2): solve q4
feat(lab2): solve q5
feat(lab2): solve q6
feat(lab2): solve q7