add snapshot support
update test page