Hardware Abstraction Layer