updated architecture diagram