How exactly do they work? I know that there is a software and a hardware and I would like to know about the hardware one.