Jonathon is bad news. We know this because that's how Annie, our heroine, introduces him at the very beginning. She just moved to town with her parents and her little brother Caleb, and she decides to take a trip up to the falls in town, which the real estate agent told them was one of the best in the country. When she sees a man getting ready to jump, she drops her bike and runs to help him.
No worries though. It's actually just Jonathon. We know he's super cute because she describes him as looking like Luke Perry with James Dean hair. Mm, James Dean. After saying he was meeting someone up there, he does a little flirting with Annie before walking her back to her bike. Turns out that someone slashed her tires but there is no one else around. While helping her back to town, Jonathon runs into his friend Ruby. Ruby spends far too much time rubbing on him, flirting with him, and ignoring Annie, but that doesn't stop him from inviting her to a party later that week.
In what is clearly a 90s party, Annie pairs black tights with a silky white shirt and a skintight black Betsy Johnson miniskirt. She meets his best friend Caleb, who is pretty crazy and tends to make Jonathon act a little crazy. She also meets his girlfriend Dawn. Dawn refuses to believe that Jonathon was at the falls at first and acts a little weird. She also talks badly about Ruby and insinuates that the other girl is a whore. Caleb rushes up with news that they all plan to hit the batting cages, and Annie sees Jonathon getting a little too close to Ruby.
Jonathon drives like a crazy man on the way to the batting cages. Caleb then climbs to the top, acts like a monkey, and jumps off the side. He acts like he fell and hurt himself before jumping up and laughing. Dawn then reveals that he's kind of an ass and that they fight a lot.
Cut to Annie's first day of school. She and Dawn quickly become good friends. Dawn warns her that Ruby has a thing for Jonathon. Duh, you think? She starts to explain why he never goes to the falls, but Ruby interrupts. Dawn then takes Annie to the trophy case and shows her the picture of a super pretty girl. She says her name was Louisa and that she was Jonathon's girlfriend.
Annie cannot stop thinking about Louisa and finally gets Dawn to tell her the whole story. Apparently, Louisa and Jonathon went for a bike ride up the falls. He said that they had a fight and he left her alone for a few minutes. When he got back, she was gone. They found her bike at the bottom of the falls and found her body later. Since some saw him chumming around with Ruby, most kids think he killed Louisa.
While she doubts that, she does call him and learns that he went out with Ruby for the night. Since we need another red herring, she also meets this guy Ryan. He knew Louisa really well and seems to know Annie too. After creeping around for a few minutes, he asks her out before saying that she probably has plans and running off down the hallway.
Ryan recognized her because he saw her in the computer lab. Even though she just moved to the school, she still has to research, write, and turn in a major social studies paper at the same time as all the other students. After pulling up her paper, she finds that someone deleted the whole thing and left a warning at the very bottom to stay away from Jonathon. The same person then calls and tells her the same thing.
Dawn refuses to believe that Ruby did it. Annie finds out that the two take an electrical wiring class every Saturday and that despite their backstabbing, they're good friends. Even though he went out with another girl, Annie still agrees to go out with him that weekend. They go for a bike ride and pick up Caleb, who pretends to ride his bike in front of a truck.
After a few minutes at the falls, Ruby and Dawn show up. They all hang out for awhile, but when they turn around, Jonathon is missing. Ruby starts screaming that he's dead and went over the falls. He actually pops out of the bushes, jumps on his bike, and races off. I guess that's one way to end a date.
Jonathon calls to apologize and ask her out again, and Dawn calls to say that it was probably too soon for him to be at the falls. Annie decides to take a bike ride and clear her head, but she then hears someone chasing her. After jumping on her and knocking her off her bike, he reveals himself as Ryan. He warns her about dating Jonathon and whines about how Louisa was his best friend before shouting at her and chasing her off.
As if things weren't bad enough, she then gets electrocuted. Something with the wiring on her computer completely knocks her out. When she wakes up, she sees read. Finding Ruby with Jonathon, Annie throws herself on the other girl and slams her head repeatedly against a locked. Though she doesn't get locked out, she does get lectures from Dawn about how Ruby is oh-so-nice and absolutely not trying to steal Jonathon away. Uh-huh.
Annie, who had some bad dreams about Louisa, then sees her in the gym. Ha-ha fooled you! She actually sees her older sister Danielle, who just so happens to look exactly like her. Danielle takes her out for a Coke to talk about her sister. That's awfully nice of her. Annie learns that Ruby was at the falls with them when the "accident" happened and that Danielle sometimes wonders if Ruby killed her sister.
On that charming note, we cut to a party at Annie's house. She called and apologized to Ruby and made up with Jonathon again. Everyone comes over to eat spaghetti and have a party at her house. Yes, Stine, there is nothing that teenagers enjoy more than a good old-fashioned spaghetti party. At the end of the night, her mom offers to help her clean up but she tells her to go bed. Annie finds a pot left boiling on the stove, and when she takes off the lid, she finds her dead cat inside.
Jonathon somehow convinces her to go back up the falls the next day. When she brings up Louisa, he finally snaps and says he killed her. He really means that he brought her up to the falls, which caused her death. Jonathon decides to tell her the whole story about how Ruby killed her, but then Ruby comes out of the woods and says it's a lie.
His story is that he and Ruby were sneaking around for months. He decided to end things with Louisa, and they both brought her up to the falls to tell her. Caleb showed up, Jonathon wandered off, and when he came back, he discovered that Ruby pushed her over the edge. They fight, roll around on the ground, and Ruby goes over the side.
Annie tries to run away because she thinks he now wants to kill her. Dawn pops up, clearly there are lots of places to hide in the woods, and announces that she'll back up Jonathon when he tells the cops that Annie pushed Ruby over the falls, tried to push him too, and fell to her own death. When she tries to run, Dawn grabs her from behind. They fight and nearly go over until Jonathon tackles Dawn.
The cops show up to save the day. Ruby somehow managed to land on a ledge and break her arm. She walked out and called the police for help. Let's ignore the fact that this seemingly took place in the span of 10 minutes or less. Jonathon helps Annie off the ground and the book ends with them making out. I guess it's okay that he was an ass in the end?