merge from upstream/joe-migrateassets