change some property to readonly