input: 
  from typing import List
  
  class Model:
      def __init__(self):
          self.conn = sqlite3.connect(":memory:")
          self.cursor = self.conn.cursor()
          self.cursor.execute("CREATE TABLE IF NOT EXISTS Models (name TEXT)")
          self.conn.commit()
  
      def create(self, name):
          self.cursor.execute("INSERT INTO Models (name) VALUES (?)", (name,))
          self.conn.commit()
  
      def read(self) -> List[str]:
          self.cursor.execute("SELECT name FROM Models")
          return [row[0] for row in self.cursor.fetchall()]
  
      def update(self, old_name, new_name):
          self.cursor.execute("UPDATE Models SET name = ? WHERE name = ?", (new_name, old_name))
          self.conn.commit()
  
      def delete(self, name):
          self.cursor.execute("DELETE FROM Models WHERE name = ?", (name,))
          self.conn.commit()
  
  # Example usage:
  # model = Model()
  # model.create("Alice")
  # model.create("Bob")
  # print(model.read())  # Output: ['Alice', 'Bob']
  # model.update("Bob", "Charlie")
  # print(model.read())  # Output: ['Alice', 'Charlie']
  # model.delete("Alice")
  # print(model.read())  # Output: ['Charlie']
  
output:     
      def __del__(self):
          self.conn.close()
  