added diagram: