Index: libcfa/src/parseconfig.cfa
===================================================================
--- libcfa/src/parseconfig.cfa	(revision 7baff3533450b86825394bafdaf48a0e0b50e8e2)
+++ libcfa/src/parseconfig.cfa	(revision b5e725a08cfb0cd8ca08fc4c9afb6f82a6db8f82)
@@ -16,9 +16,7 @@
 #pragma GCC visibility push(default)
 
+
 // *********************************** exceptions ***********************************
 
-
-// TODO: Add names of missing config entries to exception (see further below)
-vtable(Missing_Config_Entries) Missing_Config_Entries_vt;
 
 [ void ] ?{}( & Missing_Config_Entries this, unsigned int num_missing ) {
@@ -33,6 +31,4 @@
 
 
-vtable(Parse_Failure) Parse_Failure_vt;
-
 [ void ] ?{}( & Parse_Failure this, [] char failed_key, [] char failed_value ) {
 	this.virtual_table = &Parse_Failure_vt;
@@ -54,6 +50,4 @@
 }
 
-
-vtable(Validation_Failure) Validation_Failure_vt;
 
 [ void ] ?{}( & Validation_Failure this, [] char failed_key, [] char failed_value ) {
Index: libcfa/src/parseconfig.hfa
===================================================================
--- libcfa/src/parseconfig.hfa	(revision 7baff3533450b86825394bafdaf48a0e0b50e8e2)
+++ libcfa/src/parseconfig.hfa	(revision b5e725a08cfb0cd8ca08fc4c9afb6f82a6db8f82)
@@ -2,4 +2,5 @@
 
 #include <math.trait.hfa>
+#include <Exception.hfa>
 
 
@@ -62,21 +63,21 @@
 
 
-exception Missing_Config_Entries {
+ExceptionDecl( Missing_Config_Entries,
 	unsigned int num_missing;
-};
+);
 
 [ void ] msg( * Missing_Config_Entries ex );
 
-exception Parse_Failure {
+ExceptionDecl( Parse_Failure,
 	* char failed_key;
 	* char failed_value;
-};
+);
 
 [ void ] msg( * Parse_Failure ex );
 
-exception Validation_Failure {
+ExceptionDecl( Validation_Failure,
 	* char failed_key;
 	* char failed_value;
-};
+);
 
 [ void ] msg( * Validation_Failure ex );
Index: libcfa/src/stdlib.cfa
===================================================================
--- libcfa/src/stdlib.cfa	(revision 7baff3533450b86825394bafdaf48a0e0b50e8e2)
+++ libcfa/src/stdlib.cfa	(revision b5e725a08cfb0cd8ca08fc4c9afb6f82a6db8f82)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:10:29 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug  5 11:53:43 2023
-// Update Count     : 637
+// Last Modified On : Mon Aug 14 18:22:36 2023
+// Update Count     : 642
 //
 
@@ -65,7 +65,4 @@
 //---------------------------------------
 
-static vtable(out_of_range) out_of_range_vt;
-static vtable(invalid_argument) invalid_argument_vt;
-
 forall( T | { T strto( const char sptr[], char * eptr[], int ); } )
 T convert( const char sptr[] ) {
@@ -73,7 +70,7 @@
 	errno = 0;											// reset
 	T val = strto( sptr, &eptr, 10 );					// attempt conversion
-	if ( errno == ERANGE ) Throw( out_of_range );
+	if ( errno == ERANGE ) throw ExceptionInst( out_of_range );
 	if ( eptr == sptr ||								// conversion failed, no characters generated
-		 *eptr != '\0' ) Throw( invalid_argument );		// not at end of str ?
+		 *eptr != '\0' ) throw ExceptionInst( invalid_argument ); // not at end of str ?
 	return val;
 } // convert
Index: libcfa/src/stdlib.hfa
===================================================================
--- libcfa/src/stdlib.hfa	(revision 7baff3533450b86825394bafdaf48a0e0b50e8e2)
+++ libcfa/src/stdlib.hfa	(revision b5e725a08cfb0cd8ca08fc4c9afb6f82a6db8f82)
@@ -10,6 +10,6 @@
 // Created On       : Thu Jan 28 17:12:35 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sat Aug  5 11:53:42 2023
-// Update Count     : 774
+// Last Modified On : Mon Aug 14 18:19:12 2023
+// Update Count     : 777
 //
 
@@ -19,7 +19,8 @@
 #include "bits/align.hfa"								// libAlign
 #include "bits/random.hfa"								// prng
+#include <Exception.hfa>
+#include <heap.hfa>
 
 #include <stdlib.h>										// *alloc, strto*, ato*
-#include <heap.hfa>
 #include <errno.h>
 
@@ -310,6 +311,6 @@
 long double _Complex strto( const char sptr[], char * eptr[] );
 
-exception out_of_range {};
-exception invalid_argument {};
+ExceptionDecl( out_of_range );
+ExceptionDecl( invalid_argument );
 
 forall( T | { T strto( const char sptr[], char * eptr[], int ); } )
@@ -460,4 +461,11 @@
 } // distribution
 
+// Set default random-generator size.
+#if defined( __x86_64__ ) || defined( __aarch64__ )		// 64-bit architecture
+#define PRNG PRNG64
+#else													// 32-bit architecture
+#define PRNG PRNG32
+#endif // __x86_64__
+
 // Concurrent Pseudo Random-Number Generator : generate repeatable sequence of values that appear random.
 //
