because not everything uses the API's and drivers in the same way.