Add snapshot functionality.