Subsystem Design