added initialisation function