closures are unavoidable in node