adds gi
updates structure