lab3 final + lab4 init