restructure + changes