Assignment#2 s4050899