code for snapshot management

code for snapshot management. work in progress