added TODOs; signature for catchingAll()