added support for snapshot