Restucture all the source