     @_short ?= {}
     @_half ?= {}
     @_parent = null
-    @__args = []
+    @__rargs = [] # raw args
+    @__pargs = {} # processed args
 
   _refError: (ref) =>
     if typeof(ref) is 'string'

        err = "Bebopt: bad reference: #{_ref}: `#{ref}'"
        throw new Error(err)
      else
        return _ref
    else
      return false

    return @

  parse: () =>
    @__rargs = process.argv
    @__rargs.slice(2).forEach((opt, ind, arr) =>
      len = opt.replace(/^(--?).*/, '$1').length
      switch len
        when 1
          opt = opt.replace(/^-/, '')
          if opt.length < 2
            ref = @_refError("#shortBeat.#{opt}")
            @__pargs +=



            console.log(ref)
        when 2
          opt = opt.replace(/^--/, '')
    )

    console.log(@)
