finished assignment4