working with hardware