input/output works, but cleanup doesnt