implement Huang2004