finished assignment2