complete assignment1