public static boolean driveDistance(double distance) {
        if (!encoderInit) {
	    resetEncoders();
            currentDistance = 0.0;
            encoderInit = true;
        }
        
	if (distance > 0) {
	    while (currentDistance < distance) {
                currentDistance = getEncoderAverage();
		return false;
	    }
	} else if (distance < 0) {
	    while (currentDistance > distance) {
                currentDistance = getEncoderAverage();
		return false;
	    }
	}
	
	return true;
    }