High Level System Design