finished cs758 assignment 9