use attr_writer