More structural refactor