reintegrate source code of 0.8.0.6 v2