migrating siingle functions