changed by jonsan guo at 03/27/2014