add: save temp result to avoid recomputation