add migtate function