1) You put the finalization code near the initialization one 2) Library can return structured objects that know how to be closed