hardware complexity