Work Text:
Anxin knew he was being petty, but he couldn't help it.
He just wanted Sanghyeon to at least wave to him in the hallways instead of avoiding him in every single way possible.
So what, Anxin was just his side bitch? It didn't mean that he had to be ignored at every group hangout.
Sneaking around was becoming a burden, and he couldn't keep quiet about it anymore.
Anxin doesn't bother to wipe his makeup off before crawling into bed. It didn't matter, he usually slept with it on, anyway.
He tries to kick his jeans off, but they don't budge. With a whine, he lifts his hips up and pushes them off manually. The pants fall off the bed as he successfully discards them. He doesn't bother to pick them up.
Everything was irritating him today. Everything was just so unfair.
Anxin wanted to be able to hold Sanghyeon’s hand in public. He wanted to go on cute dates with him—dates that showed everyone around them how cute they were. He wanted to be shown off, like the stupid skateboards that Sanghyeon was always gushing about.
But of course, that wasn't possible. None of it was.
It was all Sanghyeon’s fault. He was the one who decided to get with Anxin whilst being in a relationship. He was the one who refused to break up with his girlfriend because he was afraid he’d “break her heart.”
Clearly, that wasn't a concern when he slept with Anxin at her own house. Though, it was a party. Anxin was buzzed and Sanghyeon was cute, how was he supposed to know it would turn out like this?
He didn't think he’d become an outlet for the school's popular loser to rant to. Sanghyeon just trusted him enough to ramble on about how he was figuring himself out, he guessed.
Well, lesson learned. Anxin is never having another one-night stand with a straight guy again, no matter how cute he was.
Apparently, Sanghyeon’s public image was more important than his true self.
Ding! Ding!
Anxin’s eyes shift to his ringing phone. He didn't need to look to know it was Sanghyeon. That boy had been calling and texting him ever since Anxin stormed off on him. He internally winces at the memory.
The two were walking home together—as per usual—but the energy was way off. Way too tense for Sanghyeon to ignore. Like the oblivious boy he was, he asked Anxin if he did anything wrong. Obviously, Anxin listed everything he deemed wrong, to which Sanghyeon gave him the same excuse he always did.
“I’m not out yet, I’m not ready.” Anxin mutters the words aloud, his tone mimicking Sanghyeon’s nasally voice.
“‘Not ready’ my ass.” he throws his phone somewhere far from his reach, “He wasn't saying that when he was rushing to get in my pants.”
His mumbling to himself was promptly cut off by a knock at his window. His head whips around to the direction of the noise.
There was no way. Either that was a creep trying to get in, or his stupid, stupid boyfriend—or, fuckbuddy, for lack of better terms.
“Xinie? Are you awake?”
Yup. Definitely the latter.
Sanghyeon was at his window at midnight. What was up with this guy, seriously?
Anxin debates on pretending to be asleep, but Sanghyeon would probably find a way in anyway. Reluctantly, he untangles himself from his sheets and shuffles over to his window.
Pulling back the curtain, he’s met with quite the pathetic sight. There is Sanghyeon, holding onto the top and bottom of the windowsill. He was still in his outfit from earlier. He even has his bookbag hanging off one arm.
The boy’s eyes light up when they see him. “Anxin!”
Anxin is still in disbelief. His hands come up to cross over his chest as he glares at Sanghyeon. “Are you crazy?”
“Can I come in?” Sanghyeon completely ignores the question. The pleading in his tone rings in Anxin’s ears. “Please?”
Well, he couldn't just leave him out there.
Anxin sucks in an irritated huff and pushes the bottom window up, acting as if it was a chore he really doesn't want to do.
His arms stay crossed as he watches Sanghyeon clamber inside the room. The boy lands on the floor with an embarrassingly loud thud. Anxin just prays that no one downstairs had heard that.
“Ow,” Sanghyeon mumbles. He brushes his clothes off as he situates himself up.
Anxin turns his head away from his direction.
“Are you still gonna ignore me?” There's a bit of desperation in his voice that makes Anxin return his gaze to him. Other than that, he doesn't reply.
Sanghyeon steps forward. Anxin eyes him skeptically, but doesn't step back.
The boy seems to take that as an invitation to move closer, and he does. He runs his hand from Anxin’s shoulder down to his elbow.
His fingers gently knead the skin there as he speaks, “I thought you weren't gonna talk to me ever again,” he pauses, reflecting on his words for the shortest second. “I mean, you aren't talking. But still, I didn't think you'd even let me in.”
For some reason, Anxin can’t bring himself to move away. He stands there and lets Sanghyeon rub him as he pleases.
Sanghyeon speaks once more, “Xin, talk to me. Please.” His stare into Anxin’s eyes is not met by the other. “Say something. Anything.”
Anxin returns the eye contact with him and immediately regrets it. There's a mix of dejection and earnestness in his stare that somehow makes Anxin feel both big and small at the same time.
Finally, he mutters, “Close the window, Xiao-zhu.”
That seems to be enough for the boy, as his shoulders visibly lose their tension. Anxin doesn't protest when he's pulled into a tight hug—although, it was brief because Sanghyeon quickly pulls back.
“Wait, I’m no Xiao-zhu!”
Sanghyeon’s smile falls into a pout, and for the first time in a while, Anxin laughs.
Anxin is back in bed, but now he's not alone. He isn't sure whether to be mad about it or not.
His back is against the headboard as he's sat upright. Sanghyeon’s head is resting in his lap, seemingly unbothered by the boy’s state of undress.
Anxin still hasn't spoken that much. His fingers card through Sanghyeon's hair, mindlessly tousling his locks.
“Hey,” Sanghyeon breaks the silence. He looks up at the boy through his bangs, “Are you still mad at me?”
Anxin’s fingers halt. He squints down at him with an expression that tells the boy all he needs to know. The gleam in Sanghyeon’s eyes quickly diminishes.
“Yah!” Anxin pulls his hand back when Sanghyeon promptly turns over and presses his face into his thighs.
He can't even pretend to be annoyed. Anxin loved it when Sanghyeon did that—but now was not the time.
He opens his mouth to protest, but the words die on his lips as Sanghyeon presses a kiss against one of his scars. Then another. And another.
They had come a long way; Sanghyeon used to hate even the mere sight of Anxin’s self-inflicted scars. Now? He’s kissing them up like they're his favorite thing in the entire world.
Anxin watches as Sanghyeon’s head moves up his thigh. His legs seem to have a mind of their own as they're suddenly parting to make space for Sanghyeon. Fuck.
“Hyeon, stop.”
“Why?” Sanghyeon’s voice is muffled as he continues to practically worship Anxin’s scars.
Anxin doesn't have a reply. All he knows is that if Sanghyeon keeps this up, he might just explode.
“Because,” he finally musters. “I am still mad at you.”
He can feel Sanghyeon’s lips pout against the skin of his thigh. The boy eventually lets up, forcing himself to sit upright. Anxin almost feels bad for denying him, but not really.
“I'm sorry, Xinie. I mean, I don't know what I did, but I'll make it up to you.”
Sanghyeon’s hand comes up to cup Anxin's cheek. It’s so big compared to his face, it nearly covers half of it. Anxin lets his head be tilted up by the boy.
He continues to insist, “I promise, I'll do anything.”
He’ll do anything? Really? Anxin doubted that.
His eyes finally drift over to meet Sanghyeon’s, and he can't help but scoff. “Okay, then break up with your girlfriend.”
That finally gets the boy to shut up.
A sense of smugness fills Anxin. It did feel a bit cruel to pull that card, but he had no other choice. Sanghyeon was hard to shut up.
“That's not fair, you that I—”
“You feel bad, I know.” Anxin rolls his eyes. “I don't care, Sanghyeon.”
He takes this chance to lay down, snuggling up against his sheets as much as he can. He completely ignores the dejected expression in Sanghyeon’s face as he reaches for his phone.
The other boy stays kneeling between his legs. His eyes are focused on Anxin, but his mind is elsewhere.
After a minute of watching Anxin scroll through his phone, he decides to take things into his own hands. Without another word, Sanghyeon lays down as well, his whole torso covering the boy's.
“Ack!” Anxin yelps at the sudden weight on him. “Dude, you're heavy!”
Sanghyeon's playfulness switches on almost instantly. “So?”
“So, get off of me.”
“Don't wanna,” he shakes his head, his hair brushing against Anxin’s neck.
Anxin squirms under his hold. Sometimes he forgot how strong Sanghyeon was because of how often he whined. There was no way he was escaping this. Giving up, he continues to scroll through his phone, acting as if there wasn't an oversized puppy laying on him.
“You mean more to me,” is all Anxin hears before a kiss is pressed to his neck. He holds back his frustrated groan. This boy was just too persistent.
Sensing his grumpiness, Sanghyeon kisses him again. “Nothing will change that, okay?”
Anxin hums halfheartedly. He was done fighting back. It wasn't like anything could deter Sanghyeon, anyway. He lets the boy’s mouth explore the side of his neck, pretending to not like it as much as he actually does.
He doesn't resist when his head is turned, and a pair of lips suddenly connect with his. He kisses back as if it were a natural instinct, nearly disregarding his phone completely.
Sanghyeon’s hand stays glued to Anxin’s cheek. His free hand pats around the bed until it finds Anxin’s, and he interlocks his fingers with his.
For some reason, he loved to hold his hand when they kissed. Anxin never bothered to ask him about it. He guessed it was because it made it feel more intimate. At least, that was the reason why Anxin liked it.
Sanghyeon is only encouraged by the other boy’s compliance. He nips at Anxin’s bottom lip, before slipping his tongue into his mouth.
It's not long before Anxin’s arms are crossed around Sanghyeon’s neck. His hands squeeze at the boy's shoulders roughly. All of his previous anger seemed to fade into a heat that traveled directly to his abdomen. Fucking hell.
He's too dazed to protest when Sanghyeon breaks the kiss to catch his breath, a mere whine leaves his lips. It wasn't like he could speak, even if he tried his best to.
“I’ll make it up to you,” Sanghyeon repeats the words like a prayer. He wipes the remaining saliva off of Anxin's lips with the swipe of his thumb.
Anxin can't help his scoff, “Just shut up and fuck me, Hyeonie.”
The boy doesn't need to be told twice. He sits up, moving the hand that was on Anxin’s cheek down to his knees and pushing them to his chest. Anxin lets himself be manhandled. He likes it, anyway.
His hands fall weak, landing at the sides of his head as Sanghyeon pulls his boxers off and tosses them to the side. He winces when his semi-hard cock slaps against the skin of his stomach. His shirt had ridden up when Sanghyeon pushed him into the bed.
Anxin watches as the boy pulls away just enough to reach the nightstand, hurriedly opening the top drawer. He giggles at the sight of Sanghyeon struggling to find the bottle of lube he usually kept there.
He lets his legs down, but keeps his thighs squeezed together. It was too cold for him to be this bare. Whatever.
“Wrong drawer, Xiao-zhu.” Anxin pats his butt with a playful smile. A grumpy Hey! escapes Sanghyeon’s mouth, and he just grins wider.
“That's harder to access…” Sanghyeon pouts as he focuses his attention to the bottom drawer. “Why'd you move it?”
“Hao-ge was snooping through my shit again, I didn't need him finding that.” Anxin rolls his eyes at the recollection.
That guy really had no business being in his room when he wasn't home, and he especially had no business going through his drawers. Was privacy nothing in this house?
His thoughts subside as Sanghyeon is back between his legs, a half empty bottle in his hand. Anxin can practically see a tail wagging behind the boy with the way he was beaming at him.
“Aw,” he coos. “Good job, puppy.”
Sanghyeon smiles even harder at the nickname. He pounces onto the other boy's smaller figure, nearly knocking the wind out of him. Anxin unclenches his thighs and allows the boy to get closer.
He knew Sanghyeon loved that nickname. Actually, Sanghyeon let him call him literally anything. How lucky he was.
Anxin watches impatiently as the boy uncaps the bottle to slick his fingers with the lube. It was sweet of Sanghyeon to prep him first, but he was pretty sure he could take the pain either way.
“Eh—” Sanghyeon halts in his movement at the feeling of his fly being zipped down.
Anxin doesn't say a thing as he continues to tug the jeans down. He hooks his fingers under the band of Sanghyeon's underwear and almost flinches at how quick his cock springs up when he pulls the fabric down.
The boy is still frozen in place, staring as Anxin gathers up the lube that had dripped onto his stomach from the other's fingers. Anxin wraps his hand around the head of Sanghyeon's dick and pumps it a few times, the lube on his hand mixing with the precum dribbling out of the boy’s sensitive tip.
Anxin only picks up on his startledness after a few seconds. He uses his free hand to snap Sanghyeon out of his daze. “C’mon, Xiao-zhu. Head in the game.”
His attempt is a success, as Sanghyeon is back to starting his original task. He shakes his head as if to clear his thoughts, his hair bouncing with the movement. His slicked digits find their way to Anxin’s rear, fingertips prodding against his hole before slowly sinking inside.
Anxin hisses at the intrusion, but he doesn't stop him. Using two fingers to start was crazy, though, especially with how big Sanghyeon’s hands were. He can't keep up with jerking the boy off when he was working him open like that. Damn, Sanghyeon and his magic fingers.
“Fuck,” Anxin sighs out. His free hand comes up to loosely grip the back of Sanghyeon's hair, bringing his head down to pull him into a kiss. His lips quirk up when he feels Sanghyeon’s other hand digging into his waist.
He almost accidentally bites down on Sanghyeon's lip when he realizes that the boy was rocking against him, cock rubbing against his own. Anxin is reminded that his hand was still wrapped around Sanghyeon, and he struggles to add his own dick into the grasp. Sanghyeon was way bigger than him, but he does his best to pump the two of them simultaneously.
The boy's fingers were still pumping in and out of Anxin, excruciatingly slow. Even Anxin's whines were muffled with how Sanghyeon was basically tongue-fucking his mouth. It was overwhelming, being filled up with him like that.
Anxin has to tug at Sanghyeon’s hair to get him to pull away from the kiss. “Hyeon, stop. I'm ready, hurry.”
Sanghyeon's eyes seem to light up at the permission. Anxin found it cute, how the boy went nonverbal when he got overly horned up. He keeps his hand on Anxin’s waist as he draws his fingers out of his heat. Anxin winces at the absence, but he still helps to guide the boy.
Once Sanghyeon’s tip is head to head with Anxin’s hole, he finally speaks. “You're so pretty, Xinie.”
Anxin groans at his breathless panting. Was that really all he wanted to say? Not, “thanks for the bomb ass sex, Anxin,” but a mere unoriginal compliment?
“I know, Sanghyeon. Would you just—” his words are interrupted by the sudden sensation of Sanghyeon's tip pushing into him, “—fuck!”
Anxin’s legs lock around the boy's hips almost automatically. It takes a minute for Sanghyeon to fully bottom out, his cock thick and warm in Anxin’s heat. It was an easy slide, thanks to the lube.
Sanghyeon’s head dips down to Anxin's shoulder. The boy under him can feel the vibration of his pants against his neck. Anxin can't keep himself from mewling when Sanghyeon’s teeth connect with his skin.
His arms hook under Sanghyeon's arms, hands reaching up to grip his shoulders. His lips are tightened shut, careful as to not be too loud when the boy begins to move.
“So good, Anxin, fuck,” Sanghyeon babbled against the teeth marks that adorned Anxin’s collarbone. His thrusts pick up in pace, and his babbling increases.
Anxin isn't doing better with keeping quiet. His whole body jerks back every time Sanghyeon's hips snap against his. He kind of felt like some sort of sex doll with the way Sanghyeon was handling him. Both of the boy's hands were squeezing at Anxin's poor little waist now, almost bruising him to ground himself.
He's going slow enough for Anxin to process how deep each of his thrusts were. The intimacy of his methods weren't helping Anxin at all. In fact, his voice was reaching a high tone that he didn't even know he could make.
His cock was fully hard now, slapping against his tummy with every thump. Anxin swore he could cum untouched at this point.
“Hyeon—” he manages with a whimper, “—kiss, please.”
Sanghyeon halts his suckling, detaching his mouth from Anxin's neck to press against his lips instead. Anxin kisses him back with equal fervor, tilting his head at a slight angle.
He wasn't lying when he said he’d make it up to him. He was making sure that Anxin felt everything and more, and was doing one hell of a good job at it.
Anxin was pretty sure that Sanghyeon's dick would ruin his standards for every other guy out there, not that he wanted anyone other than him. Fuck, he was trying not to get attached.
Actually, no. The boy was fucking him into his sheets so good, Anxin had the right to be attached.
His black painted nails claw at Sanghyeon’s back, definitely leaving pink lines in their wake. His hips stuttered up to meet Sanghyeon’s, seemingly having a mind of their own.
Every jostle of their movements caused the bed to creak. Curse Anxin’s cheap headboard. It kept knocking against the wall. He just hopes that none of his roommates can hear. Though, that was the least of his concerns right now.
Sanghyeon breaks apart from the kiss, “Xinie, I'm close.”
Anxin just nods in response, too breathless for words. He could feel his own high coming up, too. He hides his face in Sanghyeon's shoulder to stifle any more noises from sounding aloud.
Sanghyeon’s thrusts get sloppier, faster, but stay persistent. Anxin almost cries out with the accelerated speed the boy was going at. His eyes were already watery.
Anxin gasps as his orgasm finally hits him. He bites down on his bottom lip, nearly hard enough to draw blood. His release spurts over his and Sanghyeon’s stomachs because of how his cock was sandwiched between their bodies. Not his fault.
Sanghyeon's follows shortly after. He forces himself to pull out before spilling all over Anxin’s skin. At least it wasn't inside, that would've been a bitch to clean.
The boy collapses at Anxin’s side instead of on top of him, as if it would do much to save their clothes from getting stained. It wouldn't.
The two lay there in silence for a moment. All that filled the room was their heavy breathing, and the loud wind of the night.
Anxin was still bothered by Sanghyeon’s way of solving problems, but he was in no mood to talk about it right now. Clearly, the other boy wasn't either.
Sanghyeon's hand finds Anxin’s thigh. It trembles under his palm as he thumbs over Anxin’s scars again. He shifts closer to him, chest pressing against his shoulder.
He nuzzles his nose against Anxin’s sweated skin, to which the boy grimaces. It's kind of icky. Anxin is pretty sure all he smelled like was sweat and regret, but he doesn't deny him.
“I love you, Xinie.”
Oh.
Well, that was sudden. And, a first. Maybe Sanghyeon was more attached to him than he thought he was.
But, Anxin doesn't want to think about how those three words made him feel.
“Okay, then.” He looks back at the boy. “Massage my legs.”
“What?”
He grins when Sanghyeon’s head immediately lifts from his shoulder. There's a sense of confusion in his dazed eyes that makes Anxin want to pinch him.
He pushes his face closer to Sanghyeon’s, who doesn't even flinch. “If you really loved me, you’d do it.”
Anxin can hear the whine that's about to come just from the way Sanghyeon was pouting. He brings his finger to the boy’s lips before he can even try, shaking his head.
With furrowed brows, Sanghyeon looks down to his lips. He glances up at Anxin through his lashes once more, before biting his finger.
“Ow,” Anxin jolts his hand back, “you fucking dog!”
He doesn't get to say anything else before he's scooped up into the boy’s arms. Sanghyeon’s hold is secure around his neck, and he doesn't have the strength to wiggle his way out. He doesn't want to, either.
“I love you,” Sanghyeon draws out the last word, peppering kisses all over the side of Anxin’s face.
Anxin squints and turns his head away to try and avoid the pecks, but to no avail. Sanghyeon just moves closer.
“You're choking me!”
The other shakes his head. “No, I'm not.”
“Bad Xiao-zhu,” Anxin mumbles. He squirms a bit, trying to push the stronger boy away by smacking at his chest.
Sanghyeon isn't discouraged. “I'll stop, but only if you say it back.”
Anxin makes a face at that. There was no way he was going to admit that he loved a taken boy, let alone to his face. Sanghyeon was out of his mind.
“I'll say it back,” he holds his laugh when he sees the boy’s eyes light up, “after you help me clean this up. And, buy me ice cream.”
“Okay, easy!”
“And,” Anxin tuts, wagging his finger, “after you break up with your girlfriend.”
Silenced again. Sanghyeon was so predictable, how could he not mess with him?
The boy visibly resigns, fully slumping against Anxin’s smaller build. “I… I'll do it soon, Xinie. I promise.”
“You're always promising things,” Anxin quips, a hint of disdain laced in his words.
“I know, I know.” Sanghyeon hesitantly pulls himself up into a sitting position.
Anxin follows the sudden change in positions. He pulls the hem of his shirt down in an effort to cover up his indecency. It's a futile attempt, but the other doesn't notice it.
His gaze falls onto Sanghyeon, whose eyes are downcast, staring at the thread of blanket that he was fiddling with. “I mean everything I say.”
Anxin can only hum in response.
He believed him. He had always believed him. He was given many reasons not to, but he was just as stupidly infatuated with Sanghyeon as the boy was with him.
“Fine,” he starts, pausing to try and find the right words. “That last one can wait a little longer.”
“Yay!”
“I'm still not saying it, though.”
Sanghyeon’s face falls instantly. “Ah, Xinie. C’mon!”
Anxin can't help but giggle at the whine. He cups the boy’s face in his hands, before pressing a chaste kiss to his lips. “I like you, okay? A lot.”
“Really?” His eyes are so sincere as they meet Anxin’s. Too sincere, actually. Anxin feels mushy staring into them.
“Duh,” he sighs in mock exasperation, breath hitting Sanghyeon’s lips, before backing away a bit. “I just let you fuck me silly. Would I have done that if I didn't like you?”
Sanghyeon’s eyes dart to the side, and his bottom lip juts out. “Probably not, no.”
A grin stretches across Anxin's face at the answer, “Smart Xiao-zhu.”
He throws his arms around the boy's broad shoulders, pulling him into another kiss. A real kiss, not a peck. It's playful this time, though Anxin still feels a little irked out by the way his clothes stuck to his skin—and the lingering smell of sex that hovered in the air—but he enjoys it nonetheless.
Sanghyeon's hands fly to Anxin's waist, encircling practically his entire midriff. He returns the kiss with more eagerness than what was initiated, leaning into the other boy's embrace. He felt giddy as hell.
Anxin felt the same, but his thoughts were more conflicted.
Fucking him felt good, kissing him felt better. Though, Anxin especially loved touching him. Rubbing, cuddling, hugging, whatever. He couldn't really imagine himself without Sanghyeon.
Anxin thinks he could wait a little longer for him. Just a little.
