merge extract branch
and fix the err.