add external hw not complete yet