CS311: Initial Commit of Assignment 5.