Structure refactor