public void add( double addVal ) { 

	//Add value as last node, to maintain balance, completeness of tree
	_heap.add( addVal );
	_size++;

	int addValPos = _heap.size() - 1;
	int parentPos;

	while( addValPos > 0 ) { //potentially swap until reach root

	    //pinpoint parent
	    parentPos = (addValPos-1) / 2;

	    if ( addVal > _heap.get(parentPos) ) {//addVal < parent
		swap( addValPos, parentPos );
		addValPos = parentPos;
	    }
	    else 
		break;
	}
    } //O(logn)