added new visibility, immutable