function getLastTree(address r, uint t) public view returns(address[7] memory, address[7] memory){
	    address[7] memory latestTree;
	    address[7] memory lastCompletedTree;
	    if(bcontract.nodeIDIndex(r,t) >0 && bcontract.nodeIDIndex(r,t) <= (2 ** 32) -2 
	        && bcontract.currentNodes(r,t)){
	        uint cc=bcontract.nodeIDIndex(r,t) - 1;
    		latestTree = getTree(r,t,cc);
    		if(bcontract.nodeIDIndex(r,t) > 1){
    		    lastCompletedTree = getTree(r,t,cc-1);
    		}
    		return (latestTree,lastCompletedTree);
	    } 
		if(bcontract.nodeIDIndex(r,t) >0 && bcontract.nodeIDIndex(r,t) <= (2 ** 32) -2 
		    && !bcontract.currentNodes(r,t)){
		    uint cc=bcontract.nodeIDIndex(r,t) - 1;
    		lastCompletedTree = getTree(r,t,cc);
    		return (latestTree,lastCompletedTree);
		}
		if(bcontract.nodeIDIndex(r,t) > (2 ** 32) -2){
		    for(uint cc=0;cc < (2 ** 32) -2;cc++){
		        latestTree = getTree(r,t,cc);
		        if(latestTree[0] == address(0)) break;
		        else lastCompletedTree = getTree(r,t,cc);
		    }
		}
		return (latestTree,lastCompletedTree);
	}