add cleanup, workdir as arg