Update shipping details validation
using ji's version
merging Ji's updates
syncing with upstream