Wrote and use @fields() base on namedtuple