added visibleWhen property
added visibleWhen property