Sync with lastest commit

Hope this solve merge conflict.