My semester long project from cs240.