more improved error handling -- responding 200 OK but with a success=false flag