struct modifyied