reduce requires cl