comp 307 assignment 2