update struct, for more powerful

update struct, for more powerful