added visibility limitation