architecture explained