The first 30 minutes is genuinely terrible and feels like a totally different fim. I also feel like the ending was a unearned as Frank was far more likeable than Abigail.
However, the middle is exciting and clever, even knowing what the twist is beforehand.