adding step 2: snapshot API