component snapshot