hardware independence