Author: Joseph malloy and dezhao shen