Initial in-progress refactor