assorted edge cases, bunch of tests