added architecture document