ahj refactor