use cattr_accessor and make accessor private.