Snotel

The snotel branch is ready to merge into master.