SOLID doc only,no code