it works, probably needs cleanup
cleanup output