readd the abstraction hardware

Change-Id: I4ed5b0531d31df16d9a022ec4caea3821ba18805