WIP: snapshot API