General System Design