 protected:
     state_type * dStates;
     state_param_type * dParams;
-    std::vector< unsigned long long > m_seeds;
-
-    cudaStream_t streams[ STREAM_COUNT ];
+    seed_type m_seed;
 };
 
 /**

    static const unsigned int ALLELE_PER_INT = 32;
    static const unsigned int MAX_EVENTS = ((comp_cap_type::MAX_CONSTANT_MEMORY / sizeof( event_count_type )) >> 1);    // use half of the constant space for event counts

    static const unsigned int STREAM_COUNT = 8;

    typedef curandStateMtgp32_t state_type;
    typedef mtgp32_kernel_params_t state_param_type;

    crossover( );


crossover< 3 >::~crossover() {
    cudaFree( dStates );
    cudaFree( dParams );
}

void crossover< 3 >::get_state( boost::property_tree::ptree & n ) {
    n.put( "crossover.version", 3 );
    n.put( "crossover.curand.state_type", clotho::cuda::curand_helper< typename crossover< 3 >::state_type >::StateName );
    
    n.add_child( "crossover.curand.seed", m_seed  );

#ifdef USE_TEXTURE_MEMORY_FOR_ALLELE
    n.put( "crossover.use_texture_memory_for_allele", true );
