update assignment4