Merge v003 v006
V003 and V006 are added in similar logical locations. So submit them together. This MR also includes the code of V004 and V005 in the template, and no corresponding code is submitted in mergeV004-V005. As mentioned above, this MR submits relatively more code, but excluding the template-related code, the amount of logic code of V003 and V006 is not large.