added a simple incremental sieve for prime generation