Gutted and restructured for the project. Also driver should compile and register.