refactored to avoid always running all predicts, basic irm