added failure cases