update assignment3