code for snapshot management

code for snapshot management. work in progress
Usually with delete functions we have a ```cancel``` parameter that by default is True, then we pass ```cancel=False``` at the times we are sure we want to delete.