snapshot and mainloop to ch