added option to mark a property as internally or externally visible