Begin complete refactor of SD