Made macros more like the previous driver API, to minimise required