distinguish between results and errors