updated practical 3