removed asynchronous loading - it caused undefined behaviour due to race conditions