HARDWARE DESIGN