software and hardware description