Trading System Design