Redo 3674624853a618814fcd365b2b4992e4bbe22f64 on main branch