This work about #3184210 probably still need some review since I was doing the initial review and test the merge request feature.