invoke closures