update by sennychu, at: 47:14:15 %/ 09-07-2013