better names, using attr_reader