added support for psuedo IDisposable objects