Most of migrate feature implemented