Using OpenStruct instead of Hash for ease