Updates hardware APIs. Adds tests.