refactor regions