Migrage codes from 2.1 branch