I see a good case for context managers here (for the future)