add migration feature