progress on swap+idem