public function history( $count = 1, $dir = "older", $content = false, $revid = null, $rollback_token = false, $recurse = false ) {
		if( !$this->exists ) return array();

		$historyArray = array(
			'action' => 'query',
			'prop'   => 'revisions',
			'titles' => $this->title,
			'rvprop' => 'timestamp|ids|user|comment',
            'rawcontinue' => 1,
			'rvdir'  => $dir,

		);

		if( $content ) $historyArray['rvprop'] .= "|content";

		if( !is_null( $revid ) ) $historyArray['rvstartid'] = $revid;
		if( !is_null( $count ) ) $historyArray['rvlimit'] = $count;

		if( $rollback_token ) $historyArray['rvtoken'] = 'rollback';

		if( !$recurse ) pecho( "Getting page history for {$this->title}..\n\n", PECHO_NORMAL );

		if( is_null( $count ) ) {
			$history = $ei = $this->history( $this->wiki->get_api_limit() + 1, $dir, $content, $revid, $rollback_token, true );
			while( !is_null( $ei[1] ) ){
				$ei = $this->history( $this->wiki->get_api_limit() + 1, $dir, $content, $ei[1], $rollback_token, true );
				foreach( $ei[0] as $eg ){
					$history[0][] = $eg;
				}
			}

			return $history[0];
		}

		$historyResult = $this->wiki->apiQuery( $historyArray );

		if( $recurse ) {
			if( isset( $historyResult['query-continue'] ) ) {
				return array(
					$historyResult['query']['pages'][$this->pageid]['revisions'],
					$historyResult['query-continue']['revisions']['rvcontinue']
				);
			}
			return array( $historyResult['query']['pages'][$this->pageid]['revisions'], null );
		}

		return $historyResult['query']['pages'][$this->pageid]['revisions'];
	}