Hardware interface layer

source and header files