arch refactor