comp 409 assignment 4