split out edge cases from unit tests into common files