Bring back hardware abstraction credit @cyanogenmod