moved protected properties to private