use tmpvar-future and cleanup varargs