Jeff/7425

This is a branch from #7425 that merges 7425 with 6496559

All feedback has been addressed

@RaymondLim