I have read the book and found it extremely bleak. I agree the film is (almost reverentially) faithful to the book, which is not necessarily a good thing. Many a good book has been the basis for a bad film (and vice versa). My main gripe concerns the casting of Malkovich, an actor I have admired - for example, he made a superb Ripley and was brilliant in Liaisons Dangereuses. However, in this film he was creepy, cold and unpleasant. Another actor would have given the character more emotional depth, but he failed to give the slightest indication that David cared about anyone but himself. I felt no involvement with the character and could not have cared less what ultimately became of him. Maybe it was a directing problem. But to me, Malkovich was wrong in every way, including being physically unattractive, for this role.