allow manipulating data
unmarshal twice for simplicity