Major internal change: automatic cleanup pointers