code: function(x, y) {
    var ip,
      bits,
      arr,
      ip4,
      ip6;
    if (y === undefined) { // handed a string
      arr = x.split('/');
      this.subnet = arr[1];
      ip = arr[0];
    } else {
      this.subnet = y;
      ip = x;
    }
  
  
    ip4 = (ip instanceof Address4 ? ip : new Address4(ip));
    ip6 = (ip instanceof Address6 ? ip : new Address6(ip));
  
    this.v = (ip4.valid ? 4 : (ip6.valid ? 6 : 0));
  
    if (this.v === 6) {
      bits = 128;
    } else {
      bits = 32;
    }
    ip = makeAddr(ip, this.v);
  
    this.mask = generateCidrMask(bits, bits - this.subnet - 1);
    this.prefix = generatePrefix(ip, this.mask);
  }
docs: The constructor for a CIDR class
  @constructor
  
  Takes a string containing an IP and a slash... or both seperated
  into two separate paramaters
  @param {*} x first paramater.
  @param {*} y second paramater.