* Implemented multi-threading preference option * Adjusted code to make asynchronous calls optional * Fixed initialization order for certain tasks