adjust the source structure