complete assignment2