various changes to initialisation functions