hiercherry region refactor