hardware types