oj.js
function(ix, ojml){
        // ix defaults to -1 and is optional
        if (ojml == null){
          ojml = ix
          ix = -1
        }

        ix = this._bound(ix, this.count + 1, ".add: index")

        var _t = this,
          tag = this.itemTagName

        // Empty
        if (this.count === 0)
          this.$el.oj(function(){_t._itemElFromItem(ojml)})

        // Last
        else if (ix === this.count)
          this.$item(ix - 1).ojAfter(function(){return _t._itemElFromItem(ojml)})

        // Not last
        else
          this.$item(ix).ojBefore(function(){return _t._itemElFromItem(ojml)})

        this.itemsChanged()
      }
function(ix, ojml){
        // ix defaults to -1 and is optional
        if (ojml == null){
          ojml = ix
          ix = -1
        }

        ix = this._bound(ix, this.count + 1, ".add: index")

        var _t = this,
          tag = this.itemTagName

        // Empty
        if (this.count === 0)
          this.$el.oj(function(){_t._itemElFromItem(ojml)})

        // Last
        else if (ix === this.count)
          this.$item(ix - 1).ojAfter(function(){return _t._itemElFromItem(ojml)})

        // Not last
        else
          this.$item(ix).ojBefore(function(){return _t._itemElFromItem(ojml)})

        this.itemsChanged()
      }
Manipulation Methods