add source structure