various change to structure