updates to handle initialisation