introduced guard object for Critical Sections