implemented destination.save/load