hardware initialisation