Rebased to master.