demandable initialisation added