1. Hardware design