public static List<Long> primeListBetween(long start, long limit) {
		limit++;
		if (start == 1)
			start = 2;

		boolean[] isPrime = new boolean[(int)(limit-start)];
		Arrays.fill(isPrime, true);
		
		for (Integer prime : Euler.primeList((int)(Math.sqrt(limit)+1))) {
			long s = (start/prime);
			s*=prime;
			if (s != start)
				s+=prime;
			for (long j = s; j < limit; j += prime) {
				/**
				 * skjønner ikke at denne er helt riktig men
				 */
				if (j != prime) {
					isPrime[(int)(j-start)] = false;
				}
			}
		}
		
		List<Long> primesBetween = new ArrayList<Long>();
		for (int i = 0; i < isPrime.length; i++) {
			if (isPrime[i]) {
				primesBetween.add(i+start);
			}
		}
		return primesBetween;
	}