modify struct