Initial working snapshot functionality. Still WIP.