closures and recomputation