changes the structure of source