tested more cases (bit shallowly, but still)