with attr_accessor