updated source structure