implemented symetric migration