A final paper for CS290N at UCSB.