add visibility conditions so plugins can extend