for JerryChu's Graduation Thesis