Refactored SDI classes