def METHOD_NAME(self, pt):
    """
    # duplicate point
    >>> pen = SVGPathPen(None)
    >>> pen.moveTo((10, 10))
    >>> pen.lineTo((10, 10))
    >>> pen._commands
    ['M10 10']
    # vertical line
    >>> pen = SVGPathPen(None)
    >>> pen.moveTo((10, 10))
    >>> pen.lineTo((10, 0))
    >>> pen._commands
    ['M10 10', 'V0']
    # horizontal line
    >>> pen = SVGPathPen(None)
    >>> pen.moveTo((10, 10))
    >>> pen.lineTo((0, 10))
    >>> pen._commands
    ['M10 10', 'H0']
    # basic
    >>> pen = SVGPathPen(None)
    >>> pen.lineTo((70, 80))
    >>> pen._commands
    ['L70 80']
    # basic following a moveto
    >>> pen = SVGPathPen(None)
    >>> pen.moveTo((0, 0))
    >>> pen.lineTo((10, 10))
    >>> pen._commands
    ['M0 0', ' 10 10']
    """
    pt = self.pt(pt)
    x, y = pt
    # duplicate point
    if x == self._lastX and y == self._lastY:
        return
    # vertical line
    elif x == self._lastX:
        cmd = "V"
        pts = valueToString(y)
    # horizontal line
    elif y == self._lastY:
        cmd = "H"
        pts = valueToString(x)
    # previous was a moveto
    elif self._lastCommand == "M":
        cmd = None
        pts = " " + pointToString(pt)
    # basic
    else:
        cmd = "L"
        pts = pointToString(pt)
    # write the string
    t = ""
    if cmd:
        t += cmd
        self._lastCommand = cmd
    t += pts
    self._commands.append(t)
    # store for future reference
    self._lastX, self._lastY = pt