First pass at using structs for unmarshaling JSON