Hmm.. wonder if people would hate this use of `switch`
Added verify function, data not "properly binary encoded" though
Renaming