error checking, more tests