minimal error checking