add support for I, M3 and M4 models, better driver function, better case handling