remove private attr_reader and use ivar