Author: Hou-sheng Liu