More error checking, better description