use Struct instead of OpenStruct