return null result if something goes wrong.