translate and do cleanup