update Assignment 3 source