performed zero-allocation optimization

+ accessing fields is faster than indexing by string (~1.5x)