add the hardware part