commiting architecture diagram