      "            self.min_vals.push(data)\n",
      "\n",
      "    def pop(self):\n",
      "        data = super(StackMin, self).pop()\n",
      "        if data == self.min():\n",
      "            self.min_vals.pop()\n",
      "        return data"
     ]
    },
    {
     "cell_type": "markdown",
 
</s> remove     "        if data < self.min():\n",
    "            self.min_vals.push(data)\n",
 </s> add     "        if data < self.minimum():\n",
    "            self.stack_of_mins.push(data)\n", </s> remove     "            return self.min_vals.peek()\n",
 </s> add     "            return self.stack_of_mins.peek()\n", </s> remove     "    def min(self):\n",
    "        if self.min_vals.top is None:\n",
 </s> add     "    def minimum(self):\n",
    "        if self.stack_of_mins.top is None:\n", </s> remove     "        self.min_vals = Stack()\n",
 </s> add     "        self.stack_of_mins = Stack()\n", </s> remove     "    def min(self):\n",
 </s> add     "    def minimum(self):\n",
    "        if data == self.minimum():\n",
    "            self.stack_of_mins.pop()\n",
      "            self.min_vals.push(data)\n",
      "\n",
      "    def pop(self):\n",
      "        data = super(StackMin, self).pop()\n",
    "        if data == self.minimum():\n",
    "            self.stack_of_mins.pop()\n",
    "        if data == self.minimum():\n",
    "            self.stack_of_mins.pop()\n",
      "        return data"
     ]
    },
    {
     "cell_type": "markdown",
keep keep keep keep replace replace keep keep keep keep keep
 Update stack min challenge (#128)

Rename variable min_vals to stack_of_mins to improve clarity.
Rename method min to minimum to avoid using the same name as the built-in min. 
stacks_queues/stack_min/stack_min_solution.ipynb