restructure and id change