added basic structure of hardware layer