modify struct State