code: function(index) {
          var l = this.length;
          if (typeof index !== "undefined") {
              if (index >= l || index + l < 0) return undefined;
              if (index >= 0) return entities[this[index]];
              else return entities[this[index + l]];
          } else {
              var i = 0,
                  result = [];
              for (; i < l; i++) {
                  //skip if not exists
                  if (!entities[this[i]]) continue;
                  result.push(entities[this[i]]);
              }
              return result;
          }
      }
docs: @
  #.get
  @comp Crafty Core
  @kind Method
  
  @sign public Array .get()
  @returns An array of entities corresponding to the active selector
  
  @sign public Entity .get(Number index)
  @returns an entity belonging to the current selection
  @param index - The index of the entity to return.  If negative, counts back from the end of the array.
  
  
  @example
  Get an array containing every "2D" entity
  ~~~
  var arr = Crafty("2D").get()
  ~~~
  Get the first entity matching the selector
  ~~~
  // equivalent to Crafty("2D").get()[0], but doesn't create a new array
  var e = Crafty("2D").get(0)
  ~~~
  Get the last "2D" entity matching the selector
  ~~~
  var e = Crafty("2D").get(-1)
  ~~~