updates the structure and few bits in src