Implemented a basic driver framework.
restructured the hardware folder for clarity