make sure initialisation is asyncronous