barebones error checking