Please review changes and merge to main branch

Please refer per-commit comments for details.