2.4.4 Interacting with hardware