snapshot-free version
add snapshot back in