Author: Hsu, Andrew and Hus, Patrick.