CMPSC 221 assignment three