add option not to use namedtuple