revised diagram