move impure out of ZED