change all data structure, so a new version here.