Serial intermediate pr
The PR #672 is not ready yet.
However, there are some interesting changes we want to have right now. This PR just cherry-pick interesting commits of #672.
The PR #672 is not ready yet.
However, there are some interesting changes we want to have right now. This PR just cherry-pick interesting commits of #672.