docs: function Axes( graph ) {
  
  	// INSTANCE ATTRIBUTES //
  
  	this._parent = graph;
  	this._root = undefined;
  	this._children = {};
  	this._config = [
  		{
  			"display": true,
  			"scale": "x",
  			"label": "x",
  			"ticks": {
  				"display": true,
  				"num": 5,
  				"format": null,
  				"padding": 3,
  				"innerSize": 6,
  				"outerSize": 6,
  				"rotation": 0,
  				"direction": "out"
  			},
  			"orient": "bottom"
  		},
  		{
  			"display": true,
  			"scale": "y",
  			"label": "y",
  			"ticks": {
  				"display": true,
  				"num": 5,
  				"format": null,
  				"padding": 3,
  				"innerSize": 6,
  				"outerSize": 6,
  				"rotation": 0,
  				"direction": "out"
  			},
  			"orient": "left"
  		}
  	];
  
  	// GENERATORS //
  
  	this._xAxis = this.axis()
  		.scale( graph._xScale )
  		.orient( this._config[ 0 ].orient )
  		.ticks( this._config[ 0 ].ticks.num )
  		.innerTickSize( this._config[ 0 ].ticks.innerSize )
  		.outerTickSize( this._config[ 0 ].ticks.outerSize )
  		.tickPadding( this._config[ 0 ].ticks.padding )
  		.tickFormat( this._config[ 0 ].ticks.format );
  
  	this._yAxis = this.axis()
  		.scale( graph._yScale )
  		.orient( this._config[ 1 ].orient )
  		.ticks( this._config[ 1 ].ticks.num )
  		.innerTickSize( this._config[ 1 ].ticks.innerSize )
  		.outerTickSize( this._config[ 1 ].ticks.outerSize )
  		.tickPadding( this._config[ 1 ].ticks.padding )
  		.tickFormat( this._config[ 1 ].ticks.format );
  
  	// REGISTER //
  	if ( graph._config.hasOwnProperty( 'axes' ) ) {
  		graph._config.axes.push( this._config );
  	} else {
  		graph._config.axes = [ this._config ];
  	}
  	if ( graph._children.hasOwnProperty( 'axes' ) ) {
  		graph._children.axes.push( this );
  	} else {
  		graph._children.axes = [ this ];
  	}
  
  	return this;
  
  }