obj.file may be None