I actually really enjoyed this film. I think is one of the best made by M.Night Shyamalan. It feels quite a well thought out story (especially if you wait for the mid credits scene) Josh Hartnett and the young actress that plays his daughter are amazing and really believable. Is quite a thrilling story that keeps you wondering what is going to happen next. I feel like people just like to hate what Shyamalan makes because is trendy. But this is a really enjoyable film.