Avoid throwing exceptions in the library + using a separate initialize() function now.
Fixed possible crash in destructor (only if instance had not been initialized) + properly call initialize() function in Main.