try to make sure our error messages are strings
turn char string into byte string before opening on FH. Addresses #23
use Set::Scalar comparison operator to compare sets. Addresses #24