finishing touches on main ihac refactor