fix: memory leak: assign list-elem to newstruct